我有一个网页视图,从互联网上加载一个网址,但当没有连接(onReceiedError),它加载了一个本地保存在资产文件夹中的html文档。
但是,当我在该特定活动(加载本地HTML)上按下back按钮时,它不会返回到前一个活动,而是尝试刷新页面。只有在按下4-5次后,它才会返回。
这是我的代码。
private class HelloWebViewClient extends WebViewClient{
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
mWebView.getSettings().setBuiltInZoomControls(false);
mWebView.getSettings().setLoadWithOverviewMode(false);
mWebView.getSettings().setUseWideViewPort(false);
mWebView.loadUrl("file:///android_asset/offline.html");
}
public boolean shouldOverrideUrlLoading(WebView webview, String url)
{
webview.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int KeyCode, KeyEvent event)
{
if ((KeyCode)== KeyEvent.KEYCODE_BACK && mWebView.canGoBack())
{
mWebView.goBack();
return true;
}
return super.onKeyDown(KeyCode, event);
}
@Override
public void onBackPressed()
{
this.finish();
overridePendingTransition (0, R.anim.right_slide_out);
return;
}
}与正常的网页很好地从互联网加载。
发布于 2014-07-15 11:34:10
因为在onReceivedError中,您更改了url。因此将不会有goback事件
你只需显示toast消息并删除mWebView.loadUrl("file:///android_asset/offline.html");
https://stackoverflow.com/questions/17897131
复制相似问题