如何显示这种报价«...»?

时间:2017-07-10 14:20:01

标签: java android

我正在处理一个应用程序的项目 我想显示这个引号:«和»。但它显示数字:2131296435和2131296434。

它们的值(«和»)位于XML文件中:

<string name ="open_quote">«</string>
<string name ="close_quote">»</string>

在我的Java代码中我有这样的东西:

text.setText(R.string.open_quote+aStringValue+R.string.close_quote);

4 个答案:

答案 0 :(得分:4)

尝试使用以下内容:

<string name ="open_quote">\u00ab</string>
<string name ="close_quote">\u00bb</string>

你也应该像这样设置Text,因为每个字符串值都被保存为R.java的整数值:

text.setText(getString(R.string.open_quote) + "text" + getString(R.string.close_quote));

Source

答案 1 :(得分:2)

在xml文件中,

尝试使用HTML实体:&laquo;用于«&raquo;用于»
或等效的Unicode字符:«\u00ab的<{1}}

答案 2 :(得分:0)

您可以使用

text.setText("\u003C\u003C); // for <<

查看此内容以获取unicodes

https://unicode-table.com/en/#003C

答案 3 :(得分:0)

谢谢你的帮助。

我发现错误并非来自我的xml文件,而是来自我的java代码

应该是

getResources().getString(R.string.open_quote)

而不是:

R.string.open_quote

在xml中,两者都有效:

<string name ="open_quote">\u00ab</string>
<string name ="close_quote">\u00bb</string>

<string name ="open_quote">«</string>
<string name ="close_quote">»</string>

所以在我的代码中,我有: text.setText(getResources().getString(R.string.open_quote)+aStringValue+getResources().getString(R.string.close_quote));