2017-04-16 59 views
1

我曾嘗試使用Html.fromHtml(String text),但似乎Html.fromHtml()已被棄用且不起作用。我該如何解決這個問題?如何使用下標和上標以及特殊字符來書寫文字?

在這裏你可以看到一個例子:

對不起,這是什麼意思:

TextView tv; 

private void function(String data){ 

    if (data.equals("a")) { 
     newString+="a"; 

    } else if (data.equals("x^2")) { 
     newString += Html.fromHtml("x<sup><small>2</small></sup>") 
    } 
} 
tv.setText(newString); 

結果是不是X ,但X2。

+0

請提供[mcve]演示如何嘗試'fromHtml()'並詳細解釋**,以及「odes not work」的含義。 – CommonsWare

+0

@CommonsWare對不起,我編輯了這個問題,使其更容易理解。謝謝。 –

回答

2

更換Html.fromHtml()與下面的代碼:

@SuppressWarnings("deprecation") 
public static Spanned fromHtml(String html){ 
    Spanned result; 
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { 
     result = Html.fromHtml(html,Html.FROM_HTML_MODE_LEGACY); 
    } else { 
     result = Html.fromHtml(html); 
    } 
    return result; 
} 
0

擺脫newString。或者,將其更改爲CharSequence,並使用TextUtils.concat()Html.fromHtml()輸出附加到它。現在,您正在格式化文本...然後通過將其轉換爲String來刪除格式。

相關問題