从Android中的strings.xml中随机选择一个字符串

时间:2012-08-27 09:04:40

标签: android

我需要随机选择在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>

我可以在我的活动中随机选择其中一个字符串吗?

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:6)

最好的方法是将字符串声明为数组,然后像这样得到它:

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

然后你可以随意使用它。

答案 2 :(得分:0)

你可能会把它变成一个字符串数组(然后在随机的一个数组中更容易选择)。否则,您可以将字符串的ID放在一个数组中,然后随机选择数组中的一个项目。