public void onBackPressed (){
WebView webview = (WebView) findViewById(R.id.mainWebView);
if (webview.isFocused() && webview.canGoBack()) {
webview.goBack();
}
else {
super.onBackPressed();
finish();
}
}
private class MyCustomWebViewClient extends WebViewClient {
ProgressDialog progressDialog = new ProgressDialog(AndroidMobileAppSampleActivity.this);
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressDialog.setMessage("Processing");
progressDialog.setCancelable(false);
progressDialog.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(DialogInterface dialog, int keyCode,
KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_SEARCH) {
return true;
}
else
return false;
}});
progressDialog.show();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
progressDialog.setMessage("Processing");
progressDialog.setCancelable(false);
progressDialog.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(DialogInterface dialog, int keyCode,
KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_SEARCH) {
return true;
}
else
return false;
}});
progressDialog.show();
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
}
}
}
这是我的代码,我正在 webview 中加载一个 url 并在用户重定向到另一个页面时显示处理对话框,现在我想停止我的页面重定向并在用户按后退键时隐藏处理对话框。我试过但没有成功,请帮忙。提前致谢
清除已完成页面加载的历史记录。没有回头史。
mWebView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url)
{
mWebView.clearHistory();
super.onPageFinished(view, url);
}
});