16

在我的 values.xml 文件中,我有一个数组,如下所示;

<string-array name="animals-array">
    <item>Cow</item>
    <item>Pig</item>
    <item>Bird</item>
    <item>Sheep</item>
</string-array>

在我的应用程序中,我想随机获取这些值之一,但我不确定如何执行此操作。我看过

帮助从 arrays.xml 文件中获取字符串数组

还有这个

从 ArrayList 中检索随机项

但是如何从 values.xml 文件中定义的列表中检索随机项?

4

3 回答 3

62
String[] array = context.getResources().getStringArray(R.array.animals_array);
String randomStr = array[new Random().nextInt(array.length)];

希望这可以帮助。

于 2012-07-22T11:48:43.657 回答
1

1.从 xml 中检索完整的字符串数组,并使用 Arrays.asList()方法将其放入 ArrayList 中。

2.使用Math.random()*mArr.size()函数获取随机数。(mArr 是 ArrayList)

3.然后用这个随机数从ArrayList中得到一个动物,比如

   `myArr.get(myrand);`

4.我建议使用ArrayList(即Collection框架)的原因会给你更多的灵活性

于 2012-07-22T11:49:48.010 回答
-1
String[] myArrayOfStrings = {"one", "two", "three" } 
Random r = new Random();
String myRandString = r.nextInt(myArrayOfStrings.length );
于 2016-09-05T08:58:23.200 回答