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);