-1

我正在尝试引用存储在 .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”

有什么解决办法吗?

4

3 回答 3

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));
于 2012-11-09T12:35:56.777 回答
1

试试这个

getResources().getString(R.string.medal01);
于 2012-11-09T12:36:49.880 回答
1

-您指的是使用文件R.string.medal01中的公共静态最终整数值R.java

- 改用以下:

victory.setMessage("you won " + getString(R.string.medal01));
于 2012-11-09T12:37:18.810 回答