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

use*_*007 5 android webview android-studio

我做了一个网络视图应用程序。一切都运转良好。但是,当用户点击后退按钮并打开(恢复)应用程序时,它会重新加载 Web 视图。我该如何预防呢?

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");

    }

}
Run Code Online (Sandbox Code Playgroud)

小智 6

所以基本上你要做的就是将你的活动状态保存在 saveInstanceState 上,

   @Override
protected void onSaveInstanceState(Bundle bundle) {
    mWebView.saveState(bundle);
}
Run Code Online (Sandbox Code Playgroud)

在你的oncreate中,你只需要检查savedstate是否为空,如果为空,则loadurl,否则恢复状态。

@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");
 }
Run Code Online (Sandbox Code Playgroud)

这就是每当您恢复应用程序时恢复状态的方法。

  • Webview 仍在重新加载简历 (5认同)
  • 没有。如果回击并再次打开,它只会重新加载网页。 (3认同)
  • 我完全按照你的解释做了,但没有成功,也没有错误。这是我的java文件https://www.hastebin.com/oqisurusez.scala (2认同)