【发布时间】:2018-02-28 10:41:53
【问题描述】:
您好,我在手机上使用我的应用时遇到问题,当我在应用内旋转屏幕时,webview 会重新加载所有内容,返回到我们打开应用的第一页。
我给你留下了这里发生的事情的 GIF,如果你知道解决方案,请帮助我。我也离开了我的主类和 android manifest。
【问题讨论】:
标签: android android-studio webview
您好,我在手机上使用我的应用时遇到问题,当我在应用内旋转屏幕时,webview 会重新加载所有内容,返回到我们打开应用的第一页。
我给你留下了这里发生的事情的 GIF,如果你知道解决方案,请帮助我。我也离开了我的主类和 android manifest。
【问题讨论】:
标签: android android-studio webview
在您的 Manifest.xml 文件中添加 android:configChanges="orientation|screenSize"
如下:
<activity
android:name=".MyActivity"
android:configChanges="orientation|screenSize"
android:label="@string/title_activity"
android:theme="@style/AppTheme.MyTheme">
</activity>
【讨论】:
创建一个片段来包装您的 WebView。始终在 onCreateView 中返回相同的 WebView,以便在方向更改时不会创建新的 WebView,从而不会重新加载。
public class MyWebViewFragment extends Fragment {
private WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
@Override
public void onResume() {
super.onResume();
mWebView.onResume();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (mWebView == null)
mWebView = new WebView(getActivity());
ViewGroup parent = (ViewGroup) mWebView.getParent();
if (parent != null)
parent.removeView(mWebView);
return mWebView;
}
}
将此片段添加到您的活动中。
【讨论】: