Как вывести в TextView произвольный строковый ресурс?

Ответить
IvnKu
Сообщения: 3
Зарегистрирован: 15 ноя 2014, 13:03

Как вывести в TextView произвольный строковый ресурс?

Сообщение IvnKu » 18 фев 2015, 00:33

Моя программа состоит из кнопки и textview. Также имеется 7 строковых ресурсов (p1, p2, ... p7). Я создал обработчик, чтобы по нажатию кнопки в textview выводился ресурс p1, но как сделать так, чтобы вывелся произвольный строковый ресурс из этих 7-ми?

Аватара пользователя
Vedan06
Сообщения: 20
Зарегистрирован: 13 фев 2015, 14:55

Re: Как вывести в TextView произвольный строковый ресурс?

Сообщение Vedan06 » 18 фев 2015, 01:11

Использовать рандом..
Создать массив строковых переменных

Это в переменных
String [] str = {
"один",
"два",
....
"шесть"
};

7 строковых ресурсов = от нуля до 6ти включительно.

Это в обработчика нажатия
final Random random = new Random();
int r = random.nextInt(7); // выберет число от 0 до 6 включительно
TextView.setText(str [ r ]);

IvnKu
Сообщения: 3
Зарегистрирован: 15 ноя 2014, 13:03

Re: Как вывести в TextView произвольный строковый ресурс?

Сообщение IvnKu » 18 фев 2015, 22:02

Спасибо, работает)) но все же мне интересно, можно ли как-то изолировать набор моих строковых значений от кода, я имею ввиду можно ли создать отдельный файлик со строковыми элементами и оттуда их произвольно брать или, например, запихнуть все свои строки в R.strings.* ? Ведь если у меня к примеру 100 разных строковых значений, будет как-то не эстетично все их перечислять в коде:))

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Как вывести в TextView произвольный строковый ресурс?

Сообщение doter.ua » 18 фев 2015, 22:09

EXAMPLE:
XML file saved at res/values/strings.xml:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>
This application code retrieves a string array:

Код: Выделить всё

Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

IvnKu
Сообщения: 3
Зарегистрирован: 15 ноя 2014, 13:03

Re: Как вывести в TextView произвольный строковый ресурс?

Сообщение IvnKu » 18 фев 2015, 22:17

doter.ua, спасибо)

Ответить