Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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 如何使用我的应用程序继续Internet链接操作?_Android_Webview - Fatal编程技术网

Android 如何使用我的应用程序继续Internet链接操作?

Android 如何使用我的应用程序继续Internet链接操作?,android,webview,Android,Webview,我有一个网络视图。我的问题是,当用户单击webview中的链接时,如何继续使用我的应用程序 当用户单击链接时,将出现以下对话框: 如何避免此对话框并继续使用我的应用程序 网络视图代码: WebView webview = (WebView) findViewById(R.id.webview); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl(url); 编辑(MYActivityİn测试项目

我有一个网络视图。我的问题是,当用户单击webview中的链接时,如何继续使用我的应用程序

当用户单击链接时,将出现以下对话框:

如何避免此对话框并继续使用我的应用程序

网络视图代码:

WebView webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(url);
编辑(MYActivityİn测试项目)

这正是你需要的

我们的想法是将WebViewClient设置为您的WebView,并覆盖shouldOverrideUrlLoading方法,如下所示:

webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });
我希望这对你有帮助


下面是正在运行的测试项目的完整代码

xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.test.myapplication.MainActivity">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></WebView>
</RelativeLayout>

这在4.4设备中运行良好。请尝试此操作,如果您仍然存在此问题,请告诉我。

执行此操作时是否出现异常?当你说它不起作用时,你是指例外吗?或者你的意思是URL仍然显示弹出窗口?对不起,你是对的。我创建了一个新项目并测试了您的代码。应用程序强制停止。第一邮政编码你能解释一下否决票吗?我已经用代码的工作副本更新了答案。它跑得很好,我没有。你可以相信我。我明天考试。谢谢,我相信你:)也许投反对票的人可以回答。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.test.myapplication.MainActivity">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></WebView>
</RelativeLayout>
WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.webview);
        String url="http://www.google.com";
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        webView.loadUrl(url);
    }