我已经做了很多谷歌搜索,但没有找到答案。我有一个webview作为整体布局的一部分与其他控件。我使用webview显示格式化文本(带有粗体和斜体字体的配方描述)和URL。 URL指向Youtube并且是完全限定的(即。http://www.youtube.com/watch?v=fyzyhuVgzRE)。当我点击网页视图中的链接时,网页视图控件本身会从布局中消失(页面上其余控件保持不变),默认网页浏览器无法启动。
它表现得好像我已将Web视图的可见性设置为GONE,但我不会操纵布局上任何控件的可见性。
LogCat输出中的一个有趣线索是来自操作系统的INFO级别消息:
MotionRecognitionManager .unregisterListener : / listener count = 0->0,
listener=android.webkit.ZoomManager$1@41ac2fc0
任何想法会导致这种行为?
修改的
以下是我在活动的onCreate()方法中设置webview的方法:
webView1 = (WebView)findViewById(R.id.webView1);
webView1.getSettings().setJavaScriptEnabled(true);
webView1.getSettings().setAllowFileAccess(true);
webView1.setWebViewClient(new MyWebViewClient());
MyWebViewClient类:
private class MyWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && url.startsWith("http://")) {
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} else {
return false;
}
}
}
奇怪的是,永远不会调用 shouldOverrideUrlLoading 。
答案 0 :(得分:1)
<a href="http://some_web_site">Link Text</a>
而则呈现为:
<a href=""http://some_web_site"">Link Text</a>
在网络视图中,生成的网址看起来不错。它被正确地强调并且看起来像任何其他URL。虽然简单地将引号加倍会导致行为,但这很奇怪。我会看看Android是否存在这样的已知错误。至少WebView应该通过某种异常,而不是简单地从屏幕上消失。
答案 1 :(得分:0)
当webview尝试加载无法处理的内容时,我遇到了这种行为。截取ref使用WebViewClient单击并发送意图以在外部应用程序中打开此ref。 Check this thread.