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

2022-09-03 03:16:41

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

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

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

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

和这个

从 ArrayList 中检索随机项

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


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

希望这有帮助。


答案 2

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

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

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

   `myArr.get(myrand);`

4.我建议使用ArrayList(即集合框架)的原因,这将给你更多的灵活性