在WebView中点击链接使用自身打开
在WebView中点击链接使用自身打开
?
最近写一个应用时,用到了WebView,可是却突然遇到问题了,首次加载的网页在自定义的webView中显示,可是当点击网页中的链接,却提示使用系统中别的浏览器打开。这样可不好,
如何将点击链接后的网页也显示呢,于是边Google边查看Android文档,找到找到了一个方法,以下使用源码解释。
?
package demo.androidyue.webview; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; public class WebViewDemoActivity extends Activity { private WebView webView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //初始化WebView this.initWebView(); } /* * 初始化WebView */ private void initWebView(){ //从布局文件中扩展webView this.webView=(WebView)this.findViewById(R.id.webview); //为WebView设置WebViewClient处理某些操作 this.webView.setWebViewClient(new webViewClient()); //加载地址 this.webView.loadUrl("http://10.0.2.2"); } class webViewClient extends WebViewClient{ //重写shouldOverrideUrlLoading方法,使点击链接后不使用其他的浏览器打开。 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); //如果不需要其他对点击链接事件的处理返回true,否则返回false return true; } } } ?
关键就是为WebView设置WebViewClient,然后重写shouldOverrideUrlLoading方法即可。其中WebViewClient为WebView的一个辅助类,主要处理各种通知、请求事件。