Html.fromHtml()已被弃用,替代方法是什么?
我更新到SDK版本24,现在Html.fromHtml()
已被弃用。 而Html类有一个新的方法,额外的参数名为标志,但最低的API是24。
对于较低的API版本,这个函数还有其他的select吗? 我不想为此使用WebView
。
或者:
-
在所有API级别使用
Html.fromHtml(String)
,或者, -
使用
Html.fromHtml(String)
API级别23和更旧的设备上的Html.fromHtml(String, int)
以及API Level 24+设备上的Html.fromHtml(String, int)
,以找出正在运行的设备的API级别上
在这种情况下,“弃用”是提示去寻找双参数方法,但单参数方法仍然有效,并且(很有可能)将在相当长一段时间内这样做。
只是使用
if (Build.VERSION.SDK_INT >= 24) { Html.fromHtml(String, int) // for 24 api and more } else { Html.fromHtml(String) // or for older api }
使用Html.fromHtml(String,int)为24 api遵循文档:
https://developer.android.com/reference/android/text/Html.html
其实还有另外一个标志参数的方法
/** @deprecated */ @Deprecated public static Spanned fromHtml(String source) { throw new RuntimeException("Stub!"); } public static Spanned fromHtml(String source, int flags) { throw new RuntimeException("Stub!"); }
只需使用fromHtml函数和flag参数。 标志参数是
public static final int FROM_HTML_MODE_COMPACT = 63; public static final int FROM_HTML_MODE_LEGACY = 0; public static final int FROM_HTML_OPTION_USE_CSS_COLORS = 256; public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32; public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16; public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2; public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8; public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4; public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1; public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE = 0; public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL = 1;
- 了解密钥库,证书和别名
- 在工具栏Android上显示后退箭头
- 使用具有ClassLoader作为参数的Parcel.read方法时,“BadParcelableException:解组时使用ClassNotFoundException”<unclassified> <myclass>
- Android ADT错误,dx.jar没有从SDK文件夹中加载
- 处理button在RecyclerView的一行内部单击
- ViewPager – 获取下一页的部分视图
- 如何显示Android上的EditText上的数字键盘?
- Android:如何从当前位置到目的地绘制路线方向谷歌地图API V2
- android等待意图通知问题