(转)android WebView loadData不能解析(找不到网页)

转自http://hi.baidu.com/googlewell/item/3b32edd4d70b1aca1b72b42f

public voidloadData(Stringdata,StringmimeType,Stringencoding)

loadData()中的htmldata中不能包含'#', '%', '\', '?'四中特殊字符,出现这种字符就会出现解析错误,显示找不到网页还有部分html代码。因为css中经常用'#', '%'等字符,所以大部分网页会出现解析错误,需要如何处理呢?我们需要用UrlEncoder编码为%23, %25, %27, %3f 。

webView.loadData(URLEncoder.encode(data, "utf-8"), "text/html", "utf-8");这样写之后会发现错误没有了,但是显示效果不好,一些背景颜色排版效果都没有了。

推荐使用loadDataWithBaseURL():public voidloadDataWithBaseURL(StringbaseUrl,Stringdata,StringmimeType,Stringencoding,StringhistoryUrl)

只是多了两个参数,我们可以这样使用webView.loadDataWithBaseURL(null,data, "text/html", "utf-8", null);这样html代码就会完美解析了。

注意,访问网络要在配置文件中加上权限webView.getSettings().setJavaScriptEnabled(true); 让WebView支持JavaScript。

更多相关文章

  1. Android中WebView加载网页设置进度条
  2. android 6.0编译时出现ERROR:Security problem ,see jack server l
  3. android studio创建新项目color.xml文件错误
  4. EditText的错误信息
  5. Android(安卓)studio问题小记---Could not find com.android.sup
  6. 关于Android(安卓)WebView的那点事儿..
  7. Android(安卓)Studio 中setOnClickListener出错
  8. 使用Android(安卓)sdk/build-tools/dx工具转jar为dex时出现:-Djav
  9. Android(安卓)Design Support Library(2)- TextInputLayout的使用

随机推荐

  1. Android启动画面实现
  2. Android(安卓)禁止下拉状态栏和底部导航
  3. android中获取布局文件的三种方法
  4. 布局技巧:使用ViewStub
  5. android studio 导入 Launcher3 的一些问
  6. Android(安卓)常见知识整理(1)
  7. android 设置全屏的两种方法
  8. Android(安卓)Audio延迟(latency)
  9. Android的消息机制(异步处理)
  10. Android——eclipse共享library以及导出j