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>

我可以在我的活动中随机选择这些字符串之一吗?

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

您可能宁愿将其设为一个字符串数组(然后更容易随机选择一个数组)。否则,您可以将字符串的 id 放入一个数组中,然后随机选择数组中的一项。

于 2012-08-27T09:09:14.060 回答