I want to know how to disable and enable forward menu button as in android's private browser.I am writing an app where I am displaying 3 webviews and I want to incorporate the basic functionality of android's own browser options.Everything is working fine as of now w.r.t functionality. Only thing is 'forward'menu item is always enabled.I have mentioned conditoin too for if canGoFwd then goFwd. Thing is, I have defined menu items separately and wrote forward function separately, problem is dynamically changing states for 'forward' button
private WebView webView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
final Button previousButton =(Button) findViewById(R.id.previousButton);
previousButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(webView.canGoBack()){
webView.goBack();
}
}
});
final Button forwardButton =(Button) findViewById(R.id.forwardButton);
forwardButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(webView.canGoForward()){
webView.goForward();
}
}
});
webView.setWebViewClient( new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished( WebView view, String url ) {
super.onPageFinished(webView, url );
previousButton.setEnabled(view.canGoBack());
forwardButton.setEnabled(view.canGoForward());
}
@Override
public void onReceivedError( WebView view, int errorCode, String description, String failingUrl ) {
super.onReceivedError( webView, errorCode, description, failingUrl );
Toast.makeText( WebViewActivity.this, description, Toast.LENGTH_LONG );
}
} );
webView.loadUrl("");
webview.xml file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<Button
android:id="@+id/previousButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:enabled="false"
android:text="previous"/>
<Button
android:id="@+id/forwardButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/previousButton"
android:text="forward"
android:enabled="false" />
</RelativeLayout>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With