我有一个WebView
,底部有一个布局,背面和前面的按钮。我正在寻找一种方法来根据WebView
的历史准确设置这些按钮的启用状态。我在doUpdateVisitedHistory
中尝试了WebViewClient
方法,但只在加载新网址时更新...不适用于链接只是向下滚动当前页面的情况,显然仍保留在{ {1}}的历史。如何捕获WebView
历史记录的所有添加内容?
答案 0 :(得分: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 :(得分:-1)
您是否尝试过webView.canGoBack()和webView.canGoForward()方法?
-Salil