Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Cheshire_161
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 18
#1

Как заставить setText(); выводить строку а не ее название?

09.02.2016, 22:52. Просмотров 846. Ответов 4
Метки нет (Все метки)

Добрый вечер!
Необходимо выводить строку из strings.xml, которая будет меняться в зависимости от переменной i.
В данный момент просто выводится "q1" потом "q2" и "q3".

strings.xml :
XML
1
2
3
<string name="q1">Текст_1</string>
    <string name="q2">Текст_2</string>
    <string name="q3">Текст_3</string>
Вот кусок кода с проблемой:
Java
1
2
3
4
5
6
7
8
if (i<3){
            i++;
            result++;
            text.setText("q" + i);
        }
        else{
            intent2.putExtra("name",result);
            startActivity(intent);
Как заставить выводить именно СТРОКУ, а не ее название?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2016, 22:52
Ответы с готовыми решениями:

Как заставить виджет выводить информацию из файла по времени?
как заставить виджет выводить информацию из фаила по времени? я начинающий...

Как заставить консоль выводить кириллицу
Здравствуйте. Есть такой код: .386 .model flat, stdcall option casemap:none...

Как заставить выводить точку в вещественных числах?
JavaScript-код требует точки в качестве разделителей дробной и целой частей....

Как заставить компилятор выводить имя файла?
Всем привет! Компилятор GCC. Из Readme: Проблема вот в чем. Создал...

Как заставить IDE выводить программу в консоль?
Есть программа на паскале, генерирующая лабиринт. Переписал на Java, но...

4
Lumber
295 / 100 / 41
Регистрация: 02.12.2015
Сообщений: 241
09.02.2016, 23:51 #2
К строкам надо обращаться так:
R.string.q1
R.string.q2
R.string.q3
это просто константы int
0
Cheshire_161
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 18
09.02.2016, 23:58  [ТС] #3
Lumber, но как мне это сделать внутри setText() если название строки состоит наполовину из строки, наполовину из переменной int ?
0
Lumber
295 / 100 / 41
Регистрация: 02.12.2015
Сообщений: 241
10.02.2016, 00:33 #4
Лучший ответ Сообщение было отмечено Cheshire_161 как решение

Решение

Нет, у строки нет названия есть идентификатор, целое число. q1 это имя переменной (неизменяемой) в которой хранится это целое число. Получить из строки в которой содержится имя переменной значение этой переменной нельзя (*на самом деле можно через рефлексию, но не стоит так делать)

Видимо правильное решение состоит в том чтобы строки хранить в ресурсе типа массив строк.

Примерно так (код пишу без проверки).
это не strings.xml, в отдельном файле:
XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="q123">
        <item>Текст_1</item>
        <item>Текст_2</item>
        <item>Текст_3</item>
    </string-array>
</resources>
Java
1
2
3
4
5
6
7
8
9
10
String[] strings = res.getStringArray(R.array.q123);
 
if (i<3){
            i++;
            result++;
            text.setText(strings[i]);
        }
        else{
            intent2.putExtra("name",result);
            startActivity(intent);

UPDATE:

Вот ещё как можно сделать: прописать идентификаторы строк в массив int.

создать поле, в него ссылку на массив:
int[] q123 = {R.string.q1, R.string.q2, R.string.q3}

потом обращаться: q123[0], q123[1], q123[2]

Java
1
text.setText(q123[i]);
1
Cheshire_161
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 18
10.02.2016, 01:02  [ТС] #5
Lumber, Спасибо, помогло
0
10.02.2016, 01:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2016, 01:02

Как заставить программу выводить результаты в файл Excel?
Можно ли сделать так, чтобы программа сохраняла получаемые результаты...

Как заставить TEdit выводить только дробное число
Доброго времени суток. Подскажите, как заставить TEdit выводить только дробное...

Как заставить AccXP выводить в отчетах JPG фото ?
Отчет подключен к таблице, в таблице в поле указан только путь к jpeg файлам....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru