【问题标题】:WebView disappears when I click on an embedded link单击嵌入式链接时,WebView 消失
【发布时间】:2013-01-17 19:54:53
【问题描述】:

我在谷歌上搜索了很多,但没有找到答案。我有一个 webview 作为与其他控件的整体布局的一部分。我使用 webview 来显示格式化文本(带有粗体和斜体字体的食谱描述)和 URL。 URL 指向 Youtube 并且是完全限定的(即http://www.youtube.com/watch?v=fyzyhuVgzRE)。当我单击 Web 视图中的链接时,Web 视图控件本身会从布局中消失(保留页面上的其余控件不变)并且默认 Web 浏览器不启动。。 p>

它的行为就像我已将 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

【问题讨论】:

    标签: android browser webview


    【解决方案1】:

    好吧,我是个笨蛋。事实证明,锚的 href 属性中的双引号被加倍了。我的系统通过网络与 MySQL 数据库集成,我必须在 MySQL/PHP 和 Android/SQLite 之间进行大量数据转换。在这些转换之一中,我双重转义了 href 中的引号。那么应该是什么:

    <a href="http://some_web_site">Link Text</a>
    

    被渲染为:

    <a href=""http://some_web_site"">Link Text</a>
    

    在 Web 视图中,生成的 URL 看起来不错。它被正确地强调并且看起来像任何其他 URL。奇怪的是,简单的双引号会导致这种行为。我会看看Android是否有这样的已知错误。至少 WebView 应该通过某种异常,而不是简单地从屏幕上消失。

    【讨论】:

      【解决方案2】:

      当 webview 尝试加载它无法处理的内容时,我遇到了这种类型的行为。使用 WebViewClient 拦截 ref 点击并发送意图以在外部应用程序中打开此 ref。 Check this thread.

      【讨论】:

      • 感谢 Leonidos,这正是我正在做的。我已经用其他代码示例修改了我的原始评论。
      猜你喜欢
      • 2010-12-06
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      相关资源
      最近更新 更多