Подтвердить что ты не робот

Как получить случайное значение из массива строк в android?

В моем файле 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?

4b9b3361

Ответ 1

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

Надеюсь, что это поможет.

Ответ 2

1. Извлеките полный массив строк из xml и поместите его в ArrayList, используя       Arrays.asList().

2. Используйте функцию Math.random()*mArr.size() для получения случайного числа. (mArr - ArrayList)

3. Затем используйте это случайное число, чтобы получить животное из ArrayList, например

   `myArr.get(myrand);`

4. Причина, по которой я предположил, что использование ArrayList (т.е. рамки коллекции) приведет к тому, что вы придадите большую гибкость.

Ответ 3

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