The history of webview is not clearing... What is wrong with below code?
Web view Creation
mWebViewReport=(WebView)findViewById(R.id.report_page); mWebViewReport.setWebViewClient(new HelloWebViewClient()); mWebViewReport.getSettings().setBuiltInZoomControls(true);
Load help file when help button click
mWebViewReport.loadUrl("file:///android_asset/help.html"); mWebViewReport.clearHistory(); mWebViewReport.clearCache(true);
load Summary file when summary button click
mWebViewReport.loadUrl("file:///android_asset/summary.html"); //On back button click if (mWebViewReport.canGoBack()) { mWebViewReport.goBack(); return ; }
Here i can see the Help page too...
Add a close button and on its click set: webview. setVisibility(View. INVISIBLE); webview.
Android WebView is used to display web page in android. The web page can be loaded from same application or URL. It is used to display online content in android activity. Android WebView uses webkit engine to display web page.
If you have only 1 activity you can simply start the service and then call finish() on the activity. However, if you have multiple activities you have to make sure that you close them all (see also this post).
The WebView class is an extension of Android's View class that allows you to display web pages as a part of your activity layout. It does not include any features of a fully developed web browser, such as navigation controls or an address bar. All that WebView does, by default, is show a web page.
You can't clear history while the webview is loading a page (url) in order to clear the history setup onPageFinished listener as follows
declare a public var before the onCreate
boolean clearHistory = false;
now when you declare your mWebViewReport set this up
mWebViewReport.setWebViewClient(new WebViewClient(){ @Override public void onPageFinished(WebView view, String url) { if (clearHistory) { clearHistory = false; mWebViewReport.clearHistory(); } super.onPageFinished(view, url); } });
Now when you call your help url insted of clearing the history just set clearHistory to true
mWebViewReport.loadUrl("file:///android_asset/help.html"); mWebViewReport.clearHistory(); // REMOVE THIS LINE mWebViewReport.clearCache(true); // REMOVE THIS LINE clearHistory = true; // ADD THIS LINE
I think, clearHistory()
clears the back and forward list
. So the currently loaded url will still remain in the back list.
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