![](/img/trans.png)
[英]how can i save the state of my webview when changing orientation using a webviewfragment
[英]How to save a WebView state in fragments when changing the orientation?
我有一個webview,我需要在更改方向時保存該webview的狀態。 我想在更改方向時加載不同的布局,但我正在使用片段。 如何解決這個問題呢 ?
在包含WebView的fagment上實現這個:
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);
}
並在您的Manifest <activity>
標記中添加:
<activity
...
android:configChanges="orientation|screenSize"
... ></activity>
私人WebView wv;
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.webview_layout, container, false);
wv = v.findViewById(R.id.web_view);
WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);
wv.setWebViewClient(new WebViewClient());
wv.loadUrl("http://example.com/");
return v;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.