Подтвердить что ты не робот

Html.fromHtml() устарел, какова альтернатива?

Я обновил версию SDK версии 24 и теперь Html.fromHtml() устарел. И класс Html имеет новый метод с дополнительным параметром с именем flag, но его минимальный API равен 24.

Есть ли альтернатива этой функции более низким версиям API?. Я не хочу использовать WebView для этой цели.

4b9b3361

Ответ 1

Или:

  • Используйте Html.fromHtml(String) на всех уровнях API, или

  • Используйте Html.fromHtml(String) на уровне API 23 и более старых устройствах и Html.fromHtml(String, int) на устройствах уровня API 24+, используя Build.VERSION.SDK_INT, чтобы узнать уровень API устройства, на котором вы работаете

В этом случае "устаревший" - это намек на поиск двухпараметрического метода, но однопараметрический метод все еще работает и (по всей вероятности) сделает это в течение довольно долгого времени.

Ответ 2

Просто используйте

 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

Ответ 3

На самом деле существует еще один метод с параметром флага

/** @deprecated */
@Deprecated
public static Spanned fromHtml(String source) {
    throw new RuntimeException("Stub!");
}

public static Spanned fromHtml(String source, int flags) {
    throw new RuntimeException("Stub!");
}

просто используйте функциюHtml с параметром флага. параметры флага

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;