我正在尝试引用存储在.xml文件中的字符串,每次我引用它时,我只会得到一串数字。
if (Medals.medal_counter1 == 0) {
Medals.medal_counter1++;
victory.setMessage("you won " + R.string.medal01);
}
victory.show();
这是存储的字符串。
<string name="medal01">"A medal"</string>
我实际得到的对话更像是这样,
“你赢了21310334567”
任何解决方案?
答案 0 :(得分:4)
那是因为你得到了字符串资源的ID。如果要检索实际的字符串内容,则需要使用Context.getString(int resourceId)
方法。
例如,来自Activity:
victory.setMessage("you won " + getString(R.string.medal01));
否则:
victory.setMessage("you won " + victory.getContext().getString(R.string.medal01));
答案 1 :(得分:1)
试试这个
getResources().getString(R.string.medal01);
答案 2 :(得分:1)
- 您使用R.string.medal01
所指的是R.java
文件中的公共静态最终整数值。
- 请改用以下代码:
victory.setMessage("you won " + getString(R.string.medal01));