我有一个 webview,我需要在改变方向时保存那个 webview 的状态。我想在更改方向时加载不同的布局,但我正在使用 fragment 。如何解决这个问题?
最佳答案
在包含 WebView 的 fragment 上执行此操作:
private Bundle webViewBundle;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setRetainInstance(true);
...
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.my_layout, container, false);
wv = (WebView) v.findViewById(R.id.webView);
if (webViewBundle != null)
{
wv.restoreState(webViewBundle);
}
else
{
wv.loadUrl("http://www.mysite.mydomain");
}
return v;
}
public void onPause() {
super.onPause();
webViewBundle = new Bundle();
wv.saveState(webViewBundle);
}
并将其添加到您的 list 中 <activity>
标签:
<activity
...
android:configChanges="orientation|screenSize"
... ></activity>
关于android - 更改方向时如何在 fragment 中保存 WebView 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23129295/