Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单击嵌入链接时,WebView将消失_Android_Browser_Webview - Fatal编程技术网

Android 单击嵌入链接时,WebView将消失

Android 单击嵌入链接时,WebView将消失,android,browser,webview,Android,Browser,Webview,我在谷歌上搜索了很多,但都没有找到答案。我有一个webview,它是带有其他控件的总体布局的一部分。我使用webview显示格式化文本(用粗体和斜体字体显示配方说明)和URL。URL指向Youtube,并且是完全限定的(即)。单击web视图中的链接时,web视图控件本身从布局中消失(页面上的其余控件保持不变),默认web浏览器不会启动 它的行为就像我已经将web视图的可见性设置为GONE,但我不操纵布局上任何控件的可见性 LogCat输出中一个有趣的线索是来自操作系统的信息级消息: Motion

我在谷歌上搜索了很多,但都没有找到答案。我有一个webview,它是带有其他控件的总体布局的一部分。我使用webview显示格式化文本(用粗体和斜体字体显示配方说明)和URL。URL指向Youtube,并且是完全限定的(即)。单击web视图中的链接时,web视图控件本身从布局中消失(页面上的其余控件保持不变),默认web浏览器不会启动

它的行为就像我已经将web视图的可见性设置为GONE,但我不操纵布局上任何控件的可见性

LogCat输出中一个有趣的线索是来自操作系统的信息级消息:

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

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

嗯,我是个笨蛋。事实证明,锚点的href属性中的双引号是双引号。我的系统通过web与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是否有这样一个已知的bug。至少WebView应该通过某种异常,而不是简单地从屏幕上消失。

谢谢Leonidos,这正是我正在做的。我已经用额外的代码示例修改了我的原始注释。