WebView 遇到的坑小计

应用场景

Activity/Fragment (一个)中打开webview后loadUrl(url),在打开的网页中进行多次点击进入下一级操作,按返回键时逐级返回。在当前界面按一个button按钮时,则重新加载原始的url,按返回键的时候不存在上一级网页。

网上的方法大多数参考为:

webview.clearHistory();
webview.loadUrl();

此方法并不生效。

项目中用到的有效方法:

    public void refreshWebView() {
        Bundle bundle = getArguments();
        while(webview.canGoBack()){
            webview.goBack();
        }
//        webview.clearHistory();
        webview.loadUrl(bundle.getString(ARG));
//上面while里面清除了之前的url,但是按返回键还会存在之前的二级url,所以goback一下,最好价格webview.canGoBack()判断一下。
       while(webview.canGoBack()){
            webview.goBack();
        }
    }

你可能感兴趣的:(WebView 遇到的坑小计)