-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)

たとえば、アクティビティ内から:

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 に答える