我制作了一个webview应用程序。一切都很好。但是,当用户点击后退按钮并打开(恢复)应用程序时,它会重新加载webview。我该如何预防?
MainActivity.java
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webView);
mWebView.loadUrl("http://www.example.org");
}
}
答案 0 :(得分:1)
基本上你要做的就是将你的活动状态保存在saveInstanceState,
@Override
protected void onSaveInstanceState(Bundle bundle) {
mWebView.saveState(bundle);
}
并且在你的oncreate中你只需要检查savedstate是否为null,如果为null则为loadurl else restorestate。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webView);
if (savedInstanceState != null)
mWebView.restoreState(savedInstanceState);
else
mWebView.loadUrl("http://www.example.org");
}
这是您在恢复应用时恢复状态的方式。
答案 1 :(得分:0)
我找到了解决方案:
仅重写OnPostResume方法
将此添加到您的主要代码
yourWevView.onResume();
对我有用。