2016-06-18 102 views

回答

67

或者:

  • 使用Html.fromHtml(String)上的所有API級別,或者,

  • 使用Html.fromHtml(String)在API級別23和舊設備,並Html.fromHtml(String, int)對API等級24+設備,使用Build.VERSION.SDK_INT找出正在運行的設備的API級別

在這種情況下,「不建議使用」是尋找雙參數方法的暗示,但單參數方法仍然有效,並且(很有可能)將在相當長一段時間內這樣做。

+12

API Level 24+ Html.fromHtml(string,Html.FROM_HTML_MODE_LEGACY); – Shijil

+0

你好@CommonsWare,我們可以使用HtmlEscapers類嗎? https://android.googlesource.com/platform/external/guava/+/3ecfa41/guava/src/com/google/common/html/HtmlEscapers。java – m0rpheu5

+0

@ m0rpheu5:這似乎並不代替'Html'。 – CommonsWare

11

確實存在具有標誌參數

/** @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功能的另一種方法。標誌參數是

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; 
+0

該方法調用需要API 24以上,我發現,和編輯我的問題也是, –

+0

@OmerKarakose編譯器無法解析整數標誌。它期待這種格式:fromHtml(字符串源, INT標誌, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) – iOSAndroidWindowsMobileAppsDev

+0

@OmerKarakose錯誤:實測fromHtml(字符串,整數) urlBuilder.setText(HTML沒有合適的方法。 fromHtml(encodedUrl1,FROM_HTML_MODE_LEGACY)); ^ 方法Html.fromHtml(字符串)是不適用 (實際和正式的參數列表的長度不同) 方法Html.fromHtml(字符串,ImageGetter,TagHandler)是不適用 (實際和正式的參數列表的長度不同) 1錯誤 – iOSAndroidWindowsMobileAppsDev

47

只需使用

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(字符串,INT)24 API文檔如下:

https://developer.android.com/reference/android/text/Html.html

+5

我的一個小偏好: 'if(Build.VERSION.SDK_INT> = Build.VERSION_CODES.N){Html.fromHtml(String,int)// for 24 api and more } else { Html.fromHtml(String)//或for older api }' –

相關問題