WebView的使用

WebView访问网页直接

webView.loadUrl(“http://baidu.com”);即可,但是这是打开系统的浏览器。

我们需要继承WebViewClient然后重写

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

我们想要与js进行交互时需要获取WebSetting对象

    

  <span style="white-space:pre">		</span>WebSettings webSettings = webView.getSettings();
		webSettings.setSaveFormData(false);
		// 设置WebView属性,能够执行javaScript脚本
		webSettings.setJavaScriptEnabled(true);
		webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
		webSettings.setSupportZoom(true);
		webSettings.setUseWideViewPort(true);
		webSettings.setLoadWithOverviewMode(true);
		webView.addJavascriptInterface(this, "demo");


//网页端回调我们方法时我们需要添加

@JavascriptInterface 不然会找不到这个方法


如果你的应用有多个WebView,并且网页端会调用多个相同的方法,我们可以写在一个通用的类中,把公共的方法写进去,不要自定义WebView,这涉及到WebView在Fragment使用中返回的问题,自定义WebView设置这段代码无效

webview.setOnKeyListener(new OnKeyListener() {
                        
                        @Override
                        public boolean onKey(View v, int keyCode, KeyEvent event) {
                                if (event.getAction() == KeyEvent.ACTION_DOWN) {    
                    if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) {  //表示按返回键 时的操作  
                        webview.goBack();   //后退    
                        return true;    //已处理    
                    }    
                }    
                return false;
                        }
                });





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值