2012-08-27 30 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放入數組中,並隨機選擇數組中的其中一項。

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

+2

由於字符串是資源,你可以做** int [] strs = {R.string.str1,R.string.str2,R.string.str3}; **然後在第3步中做** int resId = strs [randomIndex]; ** –

6

最好的辦法是可以聲明爲字符串數組,然後把它像這樣:

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

然後只要你喜歡,你可以使用它。

相關問題