有没有办法防止webView(android)重新加载?

时间:2019-12-17 02:23:38

标签: android android-webview onsaveinstancestate

  1. 活动A = webView,其中包含smartchatbot(用于回答简单问题)URL。

我的问题很简单。我要做的就是当我进入活动A并使用smartchatbot。一旦我向smartchatbot提出了几个问题,并且smartchatbot给了我指向其他页面/活动的链接。查看页面并返回到包含smartchatbot的活动A之后,我希望我之前向smartchatbot提出的所有问题都在那里。不仅如此,即使我单击“后退”按钮,以前的问题也必须存在。我尝试了 movetasktoback()方法,但是当我在“活动A”中单击时,后退按钮的作用类似于主页按钮,并转到手机的主屏幕。

如何实现这一目标?

我试图通过重写onSaveInstanceState方法将WebView状态保存在Acivity A中。但是,从未调用过此onSaveInstanceState方法。我不确定这种方法是否适合我想要实现的目标。请帮我。预先感谢


    private WebView webView;

    @Override
    protected void onSaveInstanceState(Bundle outState){
        super.onSaveInstanceState(outState);
        webView.saveState(outState);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if(savedInstanceState != null){
            webView.restoreState(savedInstanceState);
        }else{
            setupWebViewUI();
        }

    }

               private void setupWebViewUI() {
                    webView.loadUrl("contains the smartchatbotURL");
                    WebSettings webSettings = webView.getSettings();
                    webSettings.setJavaScriptEnabled(true);
                }
            }

0 个答案:

没有答案
相关问题