如何在再次恢复应用时不重新加载webview?

时间:2017-07-30 18:09:44

标签: android android-studio webview

我制作了一个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");

    }

}

2 个答案:

答案 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();

对我有用。