Android: ограничьте количество полей EditText, редактируемых одновременно, до 2 - PullRequest
0 голосов
/ 05 февраля 2012

В моем приложении у меня есть пять различных полей EditText, все из которых являются числовыми, но это не важно.

Важно то, что я хочу, чтобы только два из них можно было редактировать за один раз.Например, если я введу первое поле, а затем второе, все остальные поля станут недоступными.Если бы я затем удалил значение из первого или второго поля, все остальные поля снова стали бы редактируемыми, и если бы я добавил второе значение в другом месте, цикл повторился бы.

Таким образом, ясмог бы ограничить количество полей, "представленных" через код, до 2.

Есть ли способ, которым я мог бы достичь этого?

1 Ответ

0 голосов
/ 05 февраля 2012

Да, все может быть сделано. Вам, вероятно, нужно сделать объект, который содержит 5 EditTexts. Тогда, вероятно, есть несколько способов сделать это, но я бы использовал TextWatcher, установленный для каждого из 5 EditTexts. Затем, когда один из них сфокусирован, получите текст из всех 5, посмотрите, равна ли длина текста 0, а затем выполните логику, чтобы отключить или включить их соответствующим образом.

См. AddTextChangedListener (наблюдатель TextWatcher) в http://developer.android.com/reference/android/widget/TextView.html#addTextChangedListener%28android.text.TextWatcher

...