如何从android中的字符串数组中获取随机值?

时间:2012-07-22 11:44:32

标签: java android random arrays

在我的values.xml文件中,我有一个数组,就像这样;

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

在我的应用中,我希望随机获取其中一个值,但我不确定如何执行此操作。我看了

Help in getting String Array from arrays.xml file

和这个

Retrieving a random item from ArrayList

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

3 个答案:

答案 0 :(得分:53)

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

希望这有帮助。

答案 1 :(得分:1)

1. 从xml中重新获取完整字符串数组并将其放入ArrayList中        Arrays.asList()方法。

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

3. 然后使用此随机数从ArrayList中获取动物

   `myArr.get(myrand);`

4. 我建议使用ArrayList(即Collection框架)的原因会导致更灵活

答案 2 :(得分:-1)

String[] myArrayOfStrings = {"one", "two", "three" } 
Random r = new Random();
String myRandString = r.nextInt(myArrayOfStrings.length );