Отключение кнопки отправки, когда EditText пуст при использовании imeOption = actionSend

Когда текст пуст, мы хотим отключить кнопку (как это делается в портретном режиме). Любые идеи?

Изменить: я не думаю, что это понятно, но я могу включить / отключить свою собственную кнопку. Но при использовании ландшафтного режима, когда клавиатура появляется, экран покрывается специальной текстовой областью андроида с собственной кнопкой (следовательно, ImeOption) Поэтому у меня нет проблемы с включением / отключением кнопки, которую у меня есть. Это кнопка Android, которую я хочу отключить, когда текстовая область пуста.

Добавьте TextChangedListener который будет вызван при каждом изменении текста внутри EditText .

 message.addTextChangedListener(new TextWatcher() { public void beforeTextChanged(CharSequence s, int start, int count, int after) {} public void onTextChanged(CharSequence s, int start, int before, int count) {} public void afterTextChanged(Editable s) { if (s == null || s.length() == 0) { send.setEnabled(false); message.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION); } else { send.setEnabled(true); message.setImeOptions( /* whatever you previously had */ ); } } 

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

 public class MyDialogFragment implements TextWatcher { ... }