8

Androidのstrings.xmlファイル内で定義された文字列をランダムに選択する必要があります。

たとえば、私のstrings.xmlは次のとおりです。

<resources>
    <string name="str1">Content comes here1</string>
    <string name="str2">Content comes here2</string>
    <string name="str3">Content comes here3</string>
</resources>

アクティビティでこれらの文字列の 1 つをランダムに選択できますか?

4

3 に答える 3

8
  1. 選択するすべてのリソース名を含む配列を作成します。

    String[] strs = new String[] {"str1", "str2", "str3"};

  2. ランダムなインデックスを取得します。

    int randomIndex = new Random().nextInt(3);

  3. リソースからランダムな文字列を取得します。

    int resId = getResources().getIdentifier(strs[randomIndex ], "string", your_package_name);

    String randomString = getString(resId);

于 2012-08-27T09:23:42.580 に答える
7

最善の方法は、文字列を配列として宣言してから、次のように取得することです。

String[] arrayOfStrings = context.getResources().getStringArray(R.array.your_string_array);
String randomString = arrayOfStrings[new Random().nextInt(arrayOfStrings.length)];

あとは好きなように使えます。

于 2015-02-14T14:17:54.307 に答える
0

むしろ、文字列の配列にすることをお勧めします (そして、配列の 1 つをランダムに選択する方が簡単です)。それ以外の場合は、文字列の ID を配列に入れ、配列内の項目の 1 つをランダムに選択できます。

于 2012-08-27T09:09:14.060 に答える