在我的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文件中定义的随机项?
答案 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 );