2011-03-29 111 views
1

我有WebView,底部有一个布局,后面和前面的按钮。我正在寻找一种方法来根据WebView的历史记录准确设置这些按钮的启用状态。我尝试了WebViewClient中的方法,但仅在加载新URL时更新...不适用于链接简单地向下滚动当前页面的情况,这显然仍然保留在WebView的历史记录中。我如何获取WebView历史上的所有新增内容?需要帮助更新WebView的后退/前进按钮

回答

7

这里的解决方案:

webView.setWebViewClient(new WebViewClient() { 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 

     super.onPageStarted(webView, url, favicon); 
     progressBar.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 

     super.onPageFinished(webView, url); 
     progressBar.setVisibility(View.INVISIBLE); 

     previousButton.setEnabled(view.canGoBack()); 
     nextButton.setEnabled(view.canGoForward()); 
    } 

    @Override 
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 

     super.onReceivedError(webView, errorCode, description, failingUrl); 
     Toast.makeText(BrowserActivity.this, description, Toast.LENGTH_LONG); 
    } 
}); 
-1

您是否尝试过使用webView.canGoBack()和webView.canGoForward()方法?

-Salil

+0

对不起,我迟到的反应。我已经知道这些方法,但需要设置一个监听器来知道浏览器历史记录的更新时间。我会发布我最终结束的事情。 – 2011-04-11 17:16:24