android webview无网络情况下的处理
2015-12-05 11:50
549 查看
import com.yck.utils.diy.LoadingDialog; import com.yck.utils.net.HttpUrl; import com.yck.utils.tools.MyLog; import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.graphics.Bitmap; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import cn.ijgc.goldplus.MyApplication; import cn.ijgc.goldplus.R; import cn.ijgc.goldplus.finance.ui.FinanceNxbIntroduceActivity; public class DiscoverInformationFragment extends Fragment { private static final String TAG = FinanceNxbIntroduceActivity.class.getSimpleName(); private String errorHtml = ""; WebView webView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.discover_information, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); errorHtml = "<html><body><h1></h1></body></html>"; webView = (WebView) getView().findViewById(R.id.web_include_webview); webView.getSettings().setDefaultTextEncodingName("UTF-8"); webView.getSettings().setJavaScriptEnabled(true); initWebView(); webView.loadUrl(HttpUrl.appInfo); } private void initWebView() { // 设置WebView属性,能够执行JavaScript脚本 webView.getSettings().setJavaScriptEnabled(true); // 设置不要缓存 webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); // 如果要播放Flash,需要加上这一句 // webView.getSettings().setPluginsEnabled(true); WebSettings ws = webView.getSettings(); ws.setSupportZoom(true); // 设置可以支持缩放 // ws.setUseWideViewPort(true); ws.setLoadWithOverviewMode(true); webView.setWebViewClient(new MyWebViewClient()); } class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { MyLog.e(TAG, "shouldOverrideUrlLoading"); //view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); //return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { MyLog.e(TAG, "onPageStarted"); super.onPageStarted(view, url, favicon); //showLoadingDialog(); } @Override public void onPageFinished(WebView view, String url) { MyLog.e(TAG, "onPageFinished"); //closeLoadingDialog(); super.onPageFinished(view, url); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); view.loadData(errorHtml, "UTF-8", "text/html"); } } /** * 关闭进度条 */ public void closeLoadingDialog() { if (loadDialog != null) { loadDialog.dismiss(); } } /** * 加载进度条 */ LoadingDialog loadDialog = null; public void showLoadingDialog() { if (loadDialog == null && this.getActivity() != null && !this.getActivity().isFinishing()) { loadDialog = new LoadingDialog(getActivity()); loadDialog.setInverseBackgroundForced(false); loadDialog.setCanceledOnTouchOutside(false); loadDialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { dialog.dismiss(); MyApplication.getInstance().cancelPendingRequests(TAG); } }); } if(loadDialog != null){ loadDialog.show(); } } }
相关文章推荐
- 郭文军讲解“微博”如何与【微商城】进行绑定?
- android(20)(从网络抓取html显示在本地,把流转换成String,请求网络,简单的消息处理机制,编码问题)
- Linux网络服务之DNS
- 对李博士随机网络网络演算学位论文的学习
- 项目忽然出现 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解决方法
- android(19)(两种方式从网络抓取图片显示在本地)
- 从epoll构建muduo-11 单线程Reactor网络模型成型
- VC多线程编程(转载)http://www.cnblogs.com/xmsnzs/articles/1267436.html
- 深入分析JavaWeb Item8 -- HttpServletResponse常见应用
- 深入分析JavaWeb Item7 -- HttpServletResponse详解
- TCP建立连接和拆除连接的过程
- Linux的常用命令1---网络相关(不断添加中)
- javaweb学习总结(四)——Http协议
- http压力测试工具及使用说明
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- CNN(卷积神经网络)在视频动作分类中的应用
- 一个用于网络请求的类
- 42.网络请求POST同步和异步
- iOS之网络数据缓存
- ASIHTTPRequest类库简介和使用说明