2015-02-09 94 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(); 
    } 
}