Динамический интерфейс для формы - PullRequest
0 голосов
/ 22 октября 2011

У меня есть это красивое требование.Я иду, пытаясь придумать заявку.Мое приложение должно только одно действие.И это действие должно будет заполнить вопросы для пользователя на основе его предыдущего ответа.

Я предполагаю, что для этого мне нужно заменить представления, чтобы достичь, как описано выше.Но что я не могу понять, так это поможет мне добиться нажатия кнопки «назад».

например.

Q1.

--- Опция A

--- Опция B

, если выбрана опция A Q2

, еслибыл выбран вариант B Q3

Каков наилучший подход при разработке пользовательского интерфейса?

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

Предлагаю вам использовать фрагменты.

http://developer.android.com/guide/topics/fundamentals/fragments.html

Это точно соответствует вашей цели.

  1. Каждый фрагмент может быть заменен другим, все действия по замене фрагментов могут быть выполнены за одно действие.

  2. у них задний стек, поэтому при нажатии назад вы переходите к предыдущему фрагменту, который будет предыдущим вопросом в вашем случае. вам просто нужно добавить замененный фрагмент в задний стек.

НТН.

1 голос
/ 22 октября 2011

Есть много способов / уловок для реализации этого макета, среди которых я бы посоветовал вам реализовать ViewFlipper для переключения вида на основе выбранной пользователем опции.

После реализации ViewPagerВы должны написать что-то вроде:

Если пользователь выберет:

if Option A => then write setDisplayedChild(0);
if Option B => then write setDisplayedChild(1);

Ваш комментарий: Позвольте мне поставить abit здесь.Ну, у меня будет около 100 вопросов, и у каждого из них есть варианты (от 2 или более до 5).Так что при выборе варианта меня будут спрашивать варианты.Вы можете рассмотреть родительский узел (есть вопрос), и у его пути к дочернему узлу есть опция, и у каждого дочернего узла будет другой вопрос, так что это то, что я должен реализовать.ViewFlipper не будет применим, если я прав?

=> Для такого рода ситуаций нужно сделать один вопрос: один текстовый обзор и 5 опций (радио-кнопка) и в зависимости от требования показать / скрыть кнопку радио.и измените текстовый вид строки заголовка.

Вы можете показать / скрыть радиокнопку, используя setVisibility () метод.

Например:

radioButton.setVisibility(View.VISIBLE);  // To make radio button visible
radioButton.setVisibility(View.GONE);  // To hide radio button
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...