Как показать EditText при выборе Spinner? - PullRequest
0 голосов
/ 15 мая 2011

У меня есть предварительный вопрос, на который я хочу, чтобы пользователи ответили, прежде чем должно появиться определенное поле EditText. Spinner - это, в основном, вопрос «да / нет» при выборе «Да». Я хочу, чтобы «EditTextA» отображался, при выборе «нет». Я хочу, чтобы «EditTextB» отображался.

Я считаю, что лучший способ сделать это - по умолчанию скрывать EditTextA и B, появляющиеся при выборе значения Spinner.

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

Ответы [ 2 ]

2 голосов
/ 15 мая 2011

Для вас есть учебник:

http://developer.android.com/resources/tutorials/views/hello-spinner.html

в методе onItemSelected добавить строки:

if(pos == positionOfYes)
    editTextA.setVisibility(View.VISIBLE);
    editTextB.setVisibility(View.GONE); // or INVISIBLE
}else{
    editTextA.setVisibility(View.GONE); // or INVISIBLE
    editTextB.setVisibility(View.VISIBLE);
}
0 голосов
/ 15 мая 2011

Когда пользователь выбирает значение из вашего Spinner, он отправляет Spinner событие, которое вы можете прослушать.Чтобы сделать это, вы должны установить OnItemSelectedListener на вашем счетчике, который будет оттуда отображать правильный EditText, или, скорее, заполнить ваш EditText с правильным ответом.

Метод, который вы хотите вызвать на Spinner:1003 * setOnItemSelectedListener (AdapterView.OnItemSelectedListener)

Параметр, который вы передаете в него, будет указывать, что именно вы хотите делать, когда в вашем Spinner выбран элемент.Вызов будет выглядеть примерно так:

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  editText.setText("blah blah blah");
});
...