2016-04-30 151 views
0

我正在顯示正在從遠程源檢索的TextView中的數據。有時該文本包含的字符在我的TextView中無法正確顯示。例如,&顯示爲&安卓在TextView中顯示unicode字符

我想:

text = Html.fromHtml(text).toString(); 

然後字符顯示正常,但所有的文字出現在一行,即使它不適合在一行。從那裏我嘗試設置textView.setSingleLine(false);,但它仍然顯示爲一行文本。

如何獲取此文本以正確顯示字符並在必要時顯示爲多行?其他解決方案建議手動將字符放入字符串變量中,或者以編程方式顯示字符,但由於它是從Web中拉出的不可能的文本。

回答

0

將你的數據拆分成不同的行,每個行調用fromHtml,然後將它們連接在一起。

+0

好主意......我想到了。但是,我怎麼把它分成幾行呢?行大小將取決於屏幕大小,而操作系統通常會正確處理顯示。 – Randy

+0

哦,我以爲你想保留已經存在於遠程數據中的換行符。在這種情況下,設置'android:inputType =「textMultiLine」' – F43nd1r

+0

1)換行符不在遠程數據中。它通常是一個文本牆,換行符由Web上的瀏覽器處理,在這種情況下由Android處理...除非將其轉換爲HTML以處理unicode字符。 2)它不是輸入。這是一個TextView。 TextView不支持inputType。 – Randy