今天作的项目要求后台录入html格式的图文并茂的信息,移动端对应要显示html格式的信息。因为须要作wrap_content的展现,放弃使用webview,采用TextView显示。最终效果感受好于webview。风格比较统一。惟一不太好的是图片的位置好像是靠左,webview是居中。但只要内容不算很复杂,用textview仍是能够的。html
一开始我发现就算是copy paste前人的代码,显示的内容怎么都是text...之类的,一直觉得是本身写错了。后来发现后台发过来的代码有encode..就是"
Html.fromHtml(Html.fromHtml(text).toString(),imgGetter,null );web
这样解决了第一个问题。ide
第二个要注意的是要把带imageGetter的方法放到非主线程中,由于图片下载不能在主线程里面。spa
第三个要注意的是非主线程里不能调用textView.setText(text);若是用task就在activity里作回调,若是用thread能够用个handler.sendMessage把结果返回。线程
另外,若是用webview.loadData()也能够,但有可能遇到中文乱码的状况,正确写法以下:code
webView.loadData(html,"text/html; charset=UTF-8", null);htm
固然,若是字符串是encode过了的,仍是要再转一次,以下:图片
webView.loadData(Html.fromHtml(html).toString(),"text/html; charset=UTF-8", null);webview