Android Webview内部片段:如何禁用在浏览器中打开?

Android Webview内部片段:如何禁用在浏览器中打开?,android,android-fragments,webview,Android,Android Fragments,Webview,我有这段代码,打开网页很好: package com.example.fragmenttabs; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; import android.app.Fragment; public class Fragmen

我有这段代码,打开网页很好:

package com.example.fragmenttabs;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.app.Fragment;

public class FragmentTab2 extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragmenttab2, container, false);

        String url = "http://example.com";
        WebView view = (WebView)rootView.findViewById(R.id.webView2);        
        view.getSettings().setJavaScriptEnabled(true);          
        view.loadUrl(url);

        return rootView;
    }

}

但不幸的是,当我点击该网络视图中的链接时,它将打开谷歌浏览器。如何禁用此行为?我想让它在同一个webview中打开。没有在谷歌浏览器中打开。谢谢。

您需要像这样实现
setWebViewClient(..)

 webView.setWebViewClient(new WebViewClient() {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
            }
    });

要在
webview
中打开webivew链接,请使用
setWebViewClient
as

webView.setWebViewClient(new WebViewClient() {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
            }
    });
文档中所述,如果宿主应用程序希望离开当前WebView并自行处理url,则返回true,否则返回false

有关更多信息,请参见

实现WebViewClient(),如:

可能重复的
 WebView _open;
 WebSettings webSettings = _open.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setBuiltInZoomControls(true);
        _open.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return super.shouldOverrideUrlLoading(view, url);
            }

        });
        _openpaypal.loadUrl(url);