Предотвратить отклонение AlertDialog.Builder, пока не будет выполнено условие - PullRequest
1 голос
/ 05 декабря 2010

У меня есть AlertDialog.Builder с кнопкой ОК, кнопкой Отмена и EditText. Я хочу, чтобы пользователь не нажимал «ОК» и не закрывал диалоговое окно, пока он не наберет что-то в EditText.

Диалог автоматически закрывается при нажатии любой кнопки. Можно ли как-то отключить / отключить кнопку ОК, пока я не выполню условие?

Я думаю, мне придется реализовать собственный диалог, чтобы выполнить это. У кого-нибудь есть идеи? Спасибо!

Ответы [ 3 ]

1 голос
/ 11 декабря 2010

В итоге я поцарапал диалоговое окно с предупреждением в пользу другого действия.

Я использовал диалоговую тему в манифесте, чтобы придать мне вид диалогового окна, поместил мои представления в макет XML, а затем просто вручную закодировал представления для требуемой функциональности.

1 голос
/ 05 декабря 2010

Вы можете попытаться создать ActivityForResult, который выглядит как диалоговое окно и всплывает поверх предыдущего Activity Там вы можете отключить кнопки, пока EditText не заполнится.

0 голосов
/ 06 декабря 2010

Я только что прошел через строителя.Поскольку кажется, что сборщик не дает вам доступа к самому макету, это может быть проблематично ... Вы всегда можете унаследовать AlertDialog и установить свои собственные кнопки и поведение, что вы хотите сделать, это использовать простой макет с двумя кнопками иtextEdit, используйте TextWatcher поверх редактирования текста, поэтому, когда txtedit не имеет длины 0, кнопка «ОК» набирается и имеет диалог с Cancelable = false.

...