我通过设置一些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(...)
中设置的结果。
出现这种差异的任何想法?
答案 0 :(得分:2)
某些字体不支持某些字符。检查您的消息是否以其他字体显示;在您的assets文件夹中包含ttf文件,并使用以下内容设置TextView的内容:
ID Num
1 0128067978
希望它有所帮助。
答案 1 :(得分:1)
尝试使用"
代替'
stringBuffer.append("\u22C6");
答案 2 :(得分:0)
在TextView上,您可以使用HTML格式设置文本。做这样的事情
mTextView.setText(Html.fromHtml(text));