我的布局中有一个webview。默认情况下,在其中打开搜索表单。在搜索时,搜索表单下面会出现一个列表部分。如果单击列表中的任何链接,则打开详细信息页。现在我想控制WebView的后退导航。我把这个代码放在活动中。
@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);
}
}
09-04 06:59:05.666: D/Error(1102): Error code: -1/net::ERR_CACHE_MISS
在Android4.4中如何解决这个问题?
在大多数情况下,这个错误实际上来自应用程序之外(偶尔只是缺少internet
权限,但这里听起来不是这样)。
我正在输入一个解释,但发现了一个更直接的例子,在这个答案中可以同时解释另一个问题。以下是相关的部分,重新散列了一下:
no-cache
,这意味着将始终从服务器请求该信息。这将导致Joe两次收到账单,因为新的请求与上次的信息相同。当乔发现他的账户上有两笔费用和他家门口多了一对帐篷时,他不会是一个快乐的露营者。
这种情况似乎很常见,现在已经成为大多数浏览器的标准错误,显然,更新版本的Android也是如此。这个错误实际上来自Chromium,这就是为什么您会在Google Chrome中看到同样的错误,也是为什么您只在4.4中看到它(该版本引入了基于Chromium的WebView新版本)。
事实上,你可能以前见过它,它是在大多数浏览器中显示的警告信息,类似于“要刷新此页面,浏览器将不得不重新发送数据...yada yada yada”。
这是Android4.4的方式,警告你正在发生什么。如何修复它实际上取决于您连接的内容,但如果您搜索这种情况,您会发现它相当常见,并有修复方法。错误的确切触发器实际上是当请求不能从缓存中得到服务时(在本例中是no-cache
造成的)。
根据请求的性质,可能实际上不需要无缓存
。
但从应用程序的角度来看,主要问题是,onreceiveerror
是WebView的“最后手段”。您在那里得到的错误是从底层系统传播的。一旦你在那里结束,你就不能继续页面加载了。所以你没有机会允许重发,你也不能给用户这个选项,不像谷歌Chrome那样。
我建立了一个web应用程序,并希望创建一个android应用程序,它有一个显示我的web应用程序的webview。按照Google Developer的说明创建了一个应用程序后,我成功地用Android5.1.1将它安装在了我的手机上。 NET::ERR_CACHE_MISS
问题内容: 我的编码是 错误是 问题答案: NLTK中的MaltParserAPI仅有一个修补程序,该修补程序修复并稳定了其以前存在的问题: 这是如何在NLTK中使用MaltParser API的示例: (参见这里更多的演示代码或这里的比较详细的演示代码) 请注意,您还可以使用导出功能,并且可以在初始化对象时避免使用完整路径。但是您仍然必须告诉对象要查找的解析器目录的名称和模型文件名,例如
问题内容: 我正在使用IntelliJ中的Google App Engine。我正在尝试在我的JSP中使用JSTL标记。我尝试了在互联网上找到的两个不同的URI,它们都给我错误: 和 它将网址变红并表示无法解析taglib。我尝试删除URL的不同部分以查看是否- 给我任何自动完成的爱,但没有运气。 我需要做些什么才能使这项工作吗? 问题答案: 确保将JSTL库jar添加到模块依赖项中。
我正在尝试仅从我的应用程序发送彩信。在android开发者教程的帮助下,我把它变成了默认的消息应用(http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html). 我的清单: BroadcastReceiver监听传入的SMS消息: 监听传入彩信的BroadcastRecenc
我使用和以及开发了一个Java web应用程序。我的应用程序在本地pc上运行,没有任何错误。 但是在我托管了我的应用程序之后,我无法访问servlet。它给了我错误。我不习惯在我的应用程序中映射servlet。我使用了。 托管服务器使用和。 可能是什么问题?我该怎么解决这个问题? 新更新 我购买主机的地方给了我上传文件的。tomcat中没有上传文件的地方,也没有上传文件到director的地方。所