Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.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
Java 我的android webview将网页加载到“中”的webview中;Nexus 5X API 25“;但不在“中加载”;Galaxy Nexus API 22(安卓5.1.1)“;_Java_Android_Webview - Fatal编程技术网

Java 我的android webview将网页加载到“中”的webview中;Nexus 5X API 25“;但不在“中加载”;Galaxy Nexus API 22(安卓5.1.1)“;

Java 我的android webview将网页加载到“中”的webview中;Nexus 5X API 25“;但不在“中加载”;Galaxy Nexus API 22(安卓5.1.1)“;,java,android,webview,Java,Android,Webview,如果有人能试试这个简单的例子并运行这个应用程序,我将非常感激。当url加载时,向下滚动一点,并尝试单击一个橙色按钮,该按钮显示“带我去那里”。在两个不同的设备中有两种不同的行为。在Nexus 5X中,它在同一网络视图中加载目标,但在Galaxy Nexus API 22(Android 5.1.1)中,它在默认的Android浏览器中打开目标。我希望我能表达我的问题。我试着寻找解决方案,但找不到。请帮帮我 }公共布尔值应该覆盖(WebView视图,WebResourceRequest请求)方法是

如果有人能试试这个简单的例子并运行这个应用程序,我将非常感激。当url加载时,向下滚动一点,并尝试单击一个橙色按钮,该按钮显示“带我去那里”。在两个不同的设备中有两种不同的行为。在Nexus 5X中,它在同一网络视图中加载目标,但在Galaxy Nexus API 22(Android 5.1.1)中,它在默认的Android浏览器中打开目标。我希望我能表达我的问题。我试着寻找解决方案,但找不到。请帮帮我


}公共布尔值
应该覆盖
(WebView视图,WebResourceRequest请求)
方法是针对android N的,它是7.x.x 在另一种
shouldOverrideUrlLoading
方法中,您要求系统处理web,这就是它打开手机浏览器的原因。两种方法都应该这样做。将给定的url加载到de webView中

private class WebViewClient extends android.webkit.WebViewClient {
    @SuppressWarnings("deprecation")
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
    @TargetApi(Build.VERSION_CODES.N)
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        view.loadUrl(request.getUrl().toString());
        return true;
    }   
}

当然有。你认为
startActivity(intent)是什么是吗?我实际上是android sir/mam的新手,所以我无法找出问题所在。但是为什么在两个不同的设备中有两种不同的行为呢??一个在同一网络视图中打开,另一个在默认浏览器中打开。。我希望所有的链接在所有android设备的同一个webview中打开。请帮助我先生/妈妈请检查以下问题您可能还想检查
@TargetApi(Build.VERSION\u CODES.N)
的含义。它是负责不同os版本SIR/mam上不同行为的部分,即使我删除了@TargetApi(Build.VERSION\u CODES.N)这一行,它仍然会给我相同的结果。非常抱歉给您带来麻烦,先生/妈妈,但我真的很难过。先生/妈妈,即使我删除了@TargetApi(Build.VERSION_CODES.N)这行代码,它仍然会给我相同的结果。非常感谢您的帮助。我想我已经解决了。我已经删除了方法public boolean shoulldoverrideerlloding(WebView视图,String url),并且刚刚实现了方法public boolean shoulldoverrideerlloding(WebView视图,WebResourceRequest请求),结果很可能是我的解决方案。再次感谢您的及时回复。最终您将需要实现另一种方法,检查旧版本上WebViewClient的行为,我不确定新方法是否适用于他们。如果此答案正确,请将其标记为正确答案。提前谢谢,不管你需要什么,只要再问一次:)我已经将最低api保持在21。删除了@targetAPI注释并实现了新的shouldOverrideUrlLoading方法,令人惊讶的是,它似乎给了我想要的结果。但仍然需要彻底测试它。如果需要,我一定会征求你的宝贵意见和建议。非常感谢,先生。
private class WebViewClient extends android.webkit.WebViewClient {
    @SuppressWarnings("deprecation")
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
    @TargetApi(Build.VERSION_CODES.N)
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        view.loadUrl(request.getUrl().toString());
        return true;
    }   
}