首页 > 代码库 > 关于android WebViewClient的方法解释
关于android WebViewClient的方法解释
适用项目:
js页面还没加载好时,在上面赋loading界面,如果加载好就隐藏loading
失败经历:以前写一个项目时第一个界面是原生的,第二个界面是java写的(js页面)要求是js页面还没加载完成时要显示一个loading界面界面,等它加载完成时隐藏;现实情况是js页面出来会有1-2秒钟的黑屏现象(可能是代码问题,我接手事前面已经有至少三个人开发,找不到人,所以只能加一个loading界面把黑屏掩盖掉),当时不知道有WebViewClient的方法,所以Java人员给我一个方法是写一个方法,方法中有一个标记位,如果为true怎么样,为false怎么样,js进行调用这个方法,写完之后出现各种问题,以失败告终。
1、在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。
public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; }2、在页面加载开始时调用。
public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub if (DEBUG) { Log.d(TAG, " onPageStarted "); } if (url.endsWith(".apk")) { download(url);//下载处理 } super.onPageStarted(view, url, favicon); loading.setVisibility(View.VISIBLE);//loading加载页面 }3、在页面加载结束时调用。
public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub if (DEBUG) { Log.d(TAG, " onPageFinished "); } super.onPageFinished(view, url); loading.setVisibility(View.INVISIBLE);//loading隐藏 }4、重写此方法可以让webview处理https请求。
public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) { handler.proceed(); }5、重写此方法才能够处理在浏览器中的按键事件。
public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) { return super.shouldOverrideKeyEvent(view, event); }6、 在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。
public void onl oadResource(WebView view, String url) { // TODO Auto-generated method stub if (DEBUG) { Log.d(TAG, " onl oadResource "); } super.onLoadResource(view, url); }
关于android WebViewClient的方法解释
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。