我在我的布局中有一个Webview。默认情况下,它会打开一个搜索表单。搜索后,列表部分会出现在搜索表单下方。如果单击列表中的任何链接,则会打开详细信息页面。现在我想控制Webview的后退导航。我将此代码放置在Activity中。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.d("TYPE", TYPE);
WebView myWebView = null;
if (TYPE.equalsIgnoreCase("REPORT_ACTIVITY"))
myWebView = reportView;
if (TYPE.equalsIgnoreCase("FEEDBACK_ACTIVITY"))
myWebView = feedbackView;
if (myWebView != null)
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack();
return true;
}
// If it wasn't the Back key or there's no web page history, bubble up
// to the default
// system behavior (probably exit the activity)
return super.onKeyDown(keyCode, event);
}
private WebViewClient webViewClient = new WebViewClient() {
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("onPageStarted", "onPageStarted");
loadProgressBarBox.setVisibility(View.VISIBLE);
//view.setVisibility(View.GONE);
}
public void onPageFinished(WebView view, String url) {
Log.d("onPageFinished", "onPageFinished");
loadProgressBarBox.setVisibility(View.GONE);
}
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
Log.d("Error", "Error code: " + errorCode + "/" + description);
}
}
我还为WebView设置了一个WebViewClient。当我使用返回按钮后,对于任何版本的4.4都可以正常工作。但是当我尝试在Android 4.4中进行操作时,从详细页面返回到列表页面时可以正常返回。但是一旦我再次尝试返回,它就会抛出错误代码-1和ERR_CACHE_MISS的描述。没有显示任何页面。
09-04 06:59:05.666: D/Error(1102): Error code: -1/net::ERR_CACHE_MISS
如何在Android 4.4中解决此问题?