Deshabilitar el botón de envío cuando el EditText está vacío cuando se utiliza imeOption = actionSend
Cuando el texto está vacío, queremos desactivar el botón (que es cómo se establece en modo retrato) ¿Ideas?
Edit: No creo que esté claro, pero puedo activar / desactivar mi propio botón .. Pero cuando se utiliza el modo de paisaje, cuando el teclado aparece, la pantalla está cubierta por un área de texto específico de Android con su propio botón (de ahí el ImeOption) Así que no tengo un problema para activar / desactivar el botón que tengo .. Es este botón de Android que quiero deshabilitar cuando el área de texto está vacía.
- Cómo crear un cuadro de diálogo modal en android
- Actualizar interfaz de usuario mientras trabaja en el fondo
- Eliminar la sombra de barra de notificación en la aplicación de Android
- Cómo personalizar el estilo de botón Material de AppCompat?
- android - UI como deslizamiento hacia abajo barra de notificación
- ¿Cómo detectar HTC Sense?
- Enfoque de la aplicación universal de Android
- Bibliotecas de código abierto de Android? ¿Vistas reutilizables, ViewGroups, adaptadores etc?
- ProgressBar mientras carga ListView (con AsyncTask)
- Cómo obtener DrawerLayout para deslizarse sobre la barra ActionBar
- Establecer vínculo en Java-Android
- Programmatically no puede alinear ImageView en RelativeLayout
- Patrón de interfaz de usuario de las acciones rápidas de Android
Agregue un TextChangedListener
que se llamará cada vez que el texto dentro del EditText
se cambia.
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 */ ); } }
Como alternativa, también puede permitir que su clase implemente la interfaz TextWatcher
, lo que hace que el código sea un poco más limpio.
public class MyDialogFragment implements TextWatcher { ... }
- No es posible listar plataformas de destino. Asegúrese de que la ruta sdk de Android es correcta
- ¿Se llama ciclo de vida cuando se presiona la tecla de retroceso para volver a la actividad anterior?