在项目中涉及用webview显示一段String类型的html文本,用TextView直接setText()显示的文本带html标签,这显然不是我们想要的结果;
这时我们只需要转换一下就OK啦;
tv.setText(htmlStr); //错误方式,此时显示的带标签
tv.setText(Html.fromHtml(htmlStr)); //正确方式,此时正常显示文本
但是用如上方法显示的html文本,个别&nbps没办法转换成空格;
所以换种思路用webView来显示html文本;
webView.loadDataWithBaseURL(null,htmlStr,"text/html","utf-8",null); webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
用此种方法显示又遇到另一问题:长按可以粘贴复制,但这不是我们先要的;
解决方法:在外层添加标签,标签添加不可选择
htmlStr = "<a onselectstart = \"return false\">"+htmlStr+"</a>";