2012-08-27 14 views
7

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

私はランダムに私の活動にこれらの文字列のいずれかを選択することはできますか?

答えて

0

あなたはむしろそれを文字列の配列にします(配列のランダムなものを選択する方が簡単です)。そうでない場合は、文字列のIDを配列に配置し、配列内の項目の1つをランダムに選択することができます。

7
  1. 配列を作成し、選択したいあなたのリソース名のすべて含まれています。あなたのランダムな文字列を取得します

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

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

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

  3. をリソース:

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

    String randomString = getString(resId);

+2

文字列はリソースなので、** int [] strs = {R.string.str1、R.string.str2、R.string.str3}; **そして、手順3ではdo ** int resId = strs [randomIndex]; ** –

6

最良の方法は、あなたがこのようにそれを取得、その後、配列としてあなたの文字列を宣言している:

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

好きなように、あなたがそれを使用することができます。

関連する問題