转载自:wildma_ 的 blog。此处用来作为记录整理收集之用。
问题
当我们想用TextView来显示一段html代码时,则会用到Html.fromHtml(String) 但是现在这个方法是过时的。
解决
使用API Level 23或之前的设备可以用过时的方法,API Level 24或以上的设备则使用2个参数的方法即可。
fromHtml(String source, int flags)
即:
TextView tv_text = (TextView) findViewById(R.id.tv_text);
CharSequence charSequence;
String content = "<p>简介:</p><p>1.nickname:wildma!</p><p>2.职业:android攻城狮</p>";
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
charSequence =Html.fromHtml(content,Html.FROM_HTML_MODE_LEGACY);
} else {
charSequence = Html.fromHtml(content); }
tv_text.setText(charSequence);
其中的flags表示:
- FROM_HTML_MODE_COMPACT:html块元素之间使用一个换行符分隔
- FROM_HTML_MODE_LEGACY:html块元素之间使用两个换行符分隔
参考:https://stackoverflow.com/questions/37899856/html-fromhtml-is-deprecated-what-is-the-alternative