I have set up a webview in one of the fragments of my application. The issue with backpress is that, if I have browsed through 5 pages in my webview, pressing back button will throw me all the way back to the first step (the hard coded URL). What I need to do is, pressing back while the user is on page5 gets the user on page 4, instead of all the way to page 1.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_blog, container, false);
webView = (WebView) rootView.findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://www.facebook.com/");
webView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return false;
}
});
return rootView;
}