Android:TextView,unicode字符未正确显示

时间:2016-02-29 09:10:53

标签: java android unicode textview

我通过设置一些unicode星号以编程方式为TextView添加评级。它是unicode明星\u22C6,但TextView在我启动应用时显示了这个字符:\u22A0

这就是我创建它的方式:

private CharSequence calculatedSelectedRating(Integer rating)
{
    StringBuffer stringBuffer = new StringBuffer();

    //Star is ⋆ or \u22C6
    for (int i = 0; i < rating; i++)
    {
        stringBuffer.append('\u22C6');
    }

    return stringBuffer.toString();
}

,结果是我通过TextView方法在setText(...)中设置的结果。

出现这种差异的任何想法?

3 个答案:

答案 0 :(得分:2)

某些字体不支持某些字符。检查您的消息是否以其他字体显示;在您的assets文件夹中包含ttf文件,并使用以下内容设置TextView的内容:

ID  Num
1   0128067978

希望它有所帮助。

答案 1 :(得分:1)

尝试使用"代替'

stringBuffer.append("\u22C6");

答案 2 :(得分:0)

在TextView上,您可以使用HTML格式设置文本。做这样的事情

mTextView.setText(Html.fromHtml(text));