2012-08-27 72 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)]; 

然后只要你喜欢,你可以使用它。

相关问题