读书人

在WebView中点击链接应用自身打开

发布时间: 2012-07-20 10:38:30 作者: rapoo

在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的一个辅助类,主要处理各种通知、请求事件。

读书人网 >Web前端

热点推荐