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

Одно окно Actvity для всего

13.02.2014, 17:20. Просмотров 1276. Ответов 16
Метки нет (Все метки)

Экран приложения состоит из трех элементов: Текста, кнопки Да и кнопки Нет.
В зависимости от выбранной кнопки, Текст принимает 100 разных значений, следуя своего рода блок-схеме.

Вопрос, можно ли реализовать это в одной активности, не создавая 100 штук под каждый вариант ответа?
Если да, то как?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2014, 17:20
Ответы с готовыми решениями:

Одно окно для нескольких сущностей
Суть вопроса - нужно реализовать несколько справочников.Можно конечно на каждый справочник...

Как сделать одно модальное окно для всех товаров без использования Джаваскрипта
Сейчас товары выводятся с модальным окном циклом...

Генерируются всего одно случайное число, а не матрица
почему генерируется тока одно число а не все которые я задаю 4 на 4 mout1 - Это RichTextBOx {...

Как оставить одно слово из всего текста которое в скобках?
Всем привет! подскажите пожалуйста как можно из строчки типа "Текст <Слово> Текст" оставить только...

Окно поверх всего
Здравствуйте уважаемые форумчане. Возник такой вопрос, облазил все... ниче не помогает. Окно не...

16
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
13.02.2014, 17:31 2
Так, меняйте только текст и все. Метод setText для TextView
0
clergyman49
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 5
13.02.2014, 20:37  [ТС] 3
Можно попросить пример кода, где значение TextView привязано к нажатию кнопки?
0
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
14.02.2014, 09:10 4
Цитата Сообщение от clergyman49 Посмотреть сообщение
Можно попросить пример кода, где значение TextView привязано к нажатию кнопки?
Java
1
2
3
4
5
6
7
final TextView txt = (TextView)findViewById(R.id.textView1);
Button myBut = (Button)findViewById(R.id.button1);
myBut.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
txt.setText("Ваш текст");
 
}});
1
14.02.2014, 09:10
clergyman49
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 5
14.02.2014, 10:21  [ТС] 5
Спасибо, с этим примером все ясно.

Но, как мне задать кнопке сразу 100 значений?
0
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
14.02.2014, 10:48 6
Цитата Сообщение от clergyman49 Посмотреть сообщение
Но, как мне задать кнопке сразу 100 значений?
СОздайте отдельный класс, например Data, в котором пропишите public все нужные значения. А в нажатии кнопки пропишите условия

Java
1
2
3
4
5
6
7
8
9
final TextView txt = (TextView)findViewById(R.id.textView1);
Button myBut = (Button)findViewById(R.id.button1);
myBut.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (text = Data.<переменная1>) {
txt.setText(text); } else if ( и так далее) {
} }
 
}});
На самом деле это самый тупой способ, попробуйте создать свой алгоритм, тем более что я не знаю какая у вас задача и по какому принципу выбирается ответ.
Так же можно использовать базу данных, если информации много или строки в Data классе будут очень длинными
1
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
14.02.2014, 10:58 7
Можно в String.xml создать все ваши строки, а в отдельном классе сделать массив int[] с ID строк.
А вообще стоит описать то что хотите получить в итоге, возможно и решение будет иным..
0
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
14.02.2014, 11:03 8
Цитата Сообщение от NOSC Посмотреть сообщение
if (text = Data.<переменная1>) {
только вот так строки не сравнивайте, ошибка не вылетит, но и нужного результата не добьетесь.
для сравнения строк используйте equals
1
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
14.02.2014, 11:08 9
Почемуто мне кажется что к вашему заданию больше подойдут связанные списки.
0
clergyman49
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 5
14.02.2014, 11:20  [ТС] 10
Программа по структуре напоминает обычный "Тест", пользователю задаются вопросы, на которые можно ответить ДА или НЕТ (две кнопки соответственно), в зависимости от выбранной кнопки, задается следующий вопрос.

Например:
______________________________________"Вы мужчина?"
____________Если ДА - "Вы женаты?"_______________________Если НЕТ - "Вы замужем?"

Если ДА - "Больше 2х лет?"___Если НЕТ - "В разводе?"_____Если ДА - "Вы счастливы в браке?"__Если НЕТ - "В разводе?"


И таких вопросов, будет может 100, а может и 1000 в будущем, соответственно хочется придумать наиболее шустрый алгоритм. И не создавать 1000 activity
0
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
14.02.2014, 12:26 11
Раз у вас взаимосвязанные вопросы, то 100% вам нужны связанные списки. Делаются они на связанных классах.
1
clergyman49
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 5
14.02.2014, 13:18  [ТС] 12
Цитата Сообщение от korsaj Посмотреть сообщение
Раз у вас взаимосвязанные вопросы, то 100% вам нужны связанные списки. Делаются они на связанных классах.
Поисковик отказался объяснять
Можно попросить какой-нибудь пример?
0
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
14.02.2014, 13:44 13
Цитата Сообщение от NiRamz Посмотреть сообщение
только вот так строки не сравнивайте, ошибка не вылетит
А какая ошибка??
Автору конечно пример не подойдет. Может все таки использовать БД и связные данные в нескольких таблицах???
0
korsaj
152 / 119 / 11
Регистрация: 16.08.2013
Сообщений: 576
14.02.2014, 13:58 14
Учитесь пользоватся поисковиком
http://javist.ru/kak-sozdat-svyazannyj-spisok/
http://javist.ru/svyazannyj-spisok-realizacii-v-java/
http://www.linux.org.ru/forum/development/3409348
1
Vladimirys
320 / 215 / 29
Регистрация: 16.01.2010
Сообщений: 632
14.02.2014, 14:27 15
Насколько я понял, ТС нужен TextSwitcher. Ну и логика для кнопок. Даже примерчик есть небольшой
http://www.learn-android-easily.com/2013/06/android-textswitcher.html

Не по теме:

И это, не считая авторских прав на тесты:)

1
BumerangSP
4292 / 1414 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.02.2014, 19:37 16
Для простоты можно сделать класс с полями: текстовое (собственно, вопрос) и числовые (индексы для перехода). Заполнить объектами этого класса массив.
Допустим, есть 3 варианта ответа: да, нет, не знаю. Значит, в классе будет 4 поля: String вопрос и три int индекс. Проходя по всему массиву, смотрим, на какую из 3 кнопок (ответов) нажал пользователь и выбираем соответствующий индекс на элемент следующего вопроса (то бишь объекта) в этом массиве. Достаточно просто и помогает избежать кучи if-ов. Всего один switch с 3 вариантами.
0
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
17.02.2014, 16:19 17
Цитата Сообщение от NOSC Посмотреть сообщение
А какая ошибка??
Автору конечно пример не подойдет. Может все таки использовать БД и связные данные в нескольких таблицах???
Почитайте про сравнение двух объектов в Java, строки относится к этим самым объектам
0
17.02.2014, 16:19
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2014, 16:19

Прога для безвозвратного удаления всего, всего с винта сочетанием клавиш
Всем доброго времени суток! Есть ли прога для безвозвратного удаления всего, всего с винта...

Три в одно. . . окно
Есть приложение, запускающее три окна, которые заполняют весь экран (условно говоря, верхняя...

VS еще одно окно
Доброго всем здравия, духовного и телесного. Для удобства сравнения одного кода с другим и...


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

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

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