【问题标题】:Strange webview goBack issue in androidandroid中奇怪的webview goBack问题
【发布时间】:2011-12-05 14:23:40
【问题描述】:

我在 Android 中使用 webview。但奇怪的是,有时连webview canGoBack 方法都返回true,webview goBack 方法不起作用。

if (webView.canGoBack()) 
    webView.goBack();

感谢您的任何想法。

【问题讨论】:

    标签: android android-webview


    【解决方案1】:

    我终于想通了

    @override
    public void onFormResubmission(WebView view, Message dontResend, Message resend)
    {
      resend.sendToTarget();
    }
    

    onFormResubmission 的默认行为是不重新提交。 resend.sendToTarget() 改变了这一点。

    如果您编写了一些代码来处理硬件按钮,这将使您的硬件返回按钮工作

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
      if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
        mWebView.goBack();
        return true;
      }
      return super.onKeyDown(keyCode, event);
    }
    

    【讨论】:

    • 我正在使用上面的代码并且遇到方法 mWebView.canGoBack() 的问题即使没有历史记录也总是返回 true。问题是按下设备后退按钮时我无法返回上一个活动,因为 mWebView.canGoBack() 返回 true。有什么帮助吗?
    • 这解决了我遇到的问题。
    【解决方案2】:

    我已禁用缓存,然后它起作用了:

    WebView webView = (WebView)findViewById(R.id.webView);
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    

    【讨论】:

    • 感谢您找到并分享。
    【解决方案3】:

    使用这个windows.history.back();

    【讨论】:

      猜你喜欢
      • 2012-12-20
      • 1970-01-01
      • 2016-05-17
      • 2011-03-14
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多