引用一个字符串变量给了我一串数字

时间:2012-11-09 12:33:21

标签: java android string reference

我正在尝试引用存储在.xml文件中的字符串,每次我引用它时,我只会得到一串数字。

      if (Medals.medal_counter1 == 0) {
            Medals.medal_counter1++;
            victory.setMessage("you won " + R.string.medal01);

        }
                     victory.show();

这是存储的字符串。

<string name="medal01">&quot;A medal&quot;</string>

我实际得到的对话更像是这样,

“你赢了21310334567”

任何解决方案?

3 个答案:

答案 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));