2015-02-09 64 views
1

我應該製作並顯示從數據庫中獲取的所有不同的lang字符串,但是settext上的textview未顯示。 所以,這是字符串類型1ងៃ្ងៃអង្គារពុធ不顯示。 感謝您的提前。不同的語言字符串不支持android中的settext textview?

String title = diffLang.getSpokenLanguage(); // here, language string get 
    try { 
     holder.txtTitle.setText(new String(title.getBytes("UTF-8"), "UTF-8")); // not display 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } 
+0

你爲什麼要設置通過的getBytes的文本?爲什麼不準確地設置標題字符串?無論如何,我嘗試了兩種變體,並且您的文字1ថ្ងៃអង្គារពុធ正常顯示。我認爲問題是diffLang.getSpokenLanguage()返回錯誤的結果或holder.txtTitle沒有正確定義(mb錯誤的視圖ID或等)。 – grig 2015-02-09 09:50:19

+0

不是它完美的字符串時,我應該打印在logcat上,我認爲這樣的UTF問題,但我不應該清楚問題和得到perfcely textview findviewbyid。 – 2015-02-09 10:01:15

+0

在textview上直接獲取字符串settext diffLang.getSpokenLanguage();不顯示。 – 2015-02-09 10:02:23

回答

1

我很多搜查,發現解決方案對我的自我

protected String getConverTextUTFToNormal(String arabicValue) { 
    String getConvertValue = ""; 
    try { 
     getConvertValue = new String(arabicValue.getBytes("ISO-8859-1"), "UTF-8"); 
    } catch (UnsupportedEncodingException e) { 
     getConvertValue = arabicValue; 
     e.printStackTrace(); 
    } 

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { 
     return Html.fromHtml(getConvertValue, Html.FROM_HTML_MODE_LEGACY).toString(); 
    } else { 
     return Html.fromHtml(getConvertValue).toString(); 
    } 
}