Ответ 1
String[] array = context.getResources().getStringArray(R.array.animals_array);
String randomStr = array[new Random().nextInt(array.length)];
Надеюсь, что это поможет.
В моем файле values.xml у меня есть массив, например:
<string-array name="animals-array">
<item>Cow</item>
<item>Pig</item>
<item>Bird</item>
<item>Sheep</item>
</string-array>
В моем приложении я хочу получить одно из этих значений наугад, но я не уверен, как это сделать. Я просмотрел
Помощь в получении String Array из файла arrays.xml
и этот
Извлечение случайного элемента из ArrayList
Но как мне получить случайный элемент из моего списка, который указан в файле values.xml?
String[] array = context.getResources().getStringArray(R.array.animals_array);
String randomStr = array[new Random().nextInt(array.length)];
Надеюсь, что это поможет.
1. Извлеките полный массив строк из xml и поместите его в ArrayList, используя Arrays.asList()
.
2. Используйте функцию Math.random()*mArr.size()
для получения случайного числа. (mArr - ArrayList)
3. Затем используйте это случайное число, чтобы получить животное из ArrayList, например
`myArr.get(myrand);`
4. Причина, по которой я предположил, что использование ArrayList (т.е. рамки коллекции) приведет к тому, что вы придадите большую гибкость.
String[] myArrayOfStrings = {"one", "two", "three" }
Random r = new Random();
String myRandString = r.nextInt(myArrayOfStrings.length );