¿Cómo comprobar si un EditText fue cambiado o no?
Necesito saber si un EditText fue cambiado o no, no si o no el usuario introdujo algún texto en el campo, pero sólo la cadena if fue cambiado.
- EditText setText no se muestra en un fragmento de diálogo
- UITextView en Android (¿Qué es EditText?)
- ¿Error en la disposición de texto de entrada o mi error?
- Android deshabilita el espacio sólo para Edittext
- Android Edit Text Cursor no aparece
- @ Al principio del valor de EditText
- Cómo configurar fuentes personalizadas en EditText Android
- edittext deshabilitado y desplazarse horizontalmente
- Android Material recolorado Subtexto de EditText
- Cómo ingresar un "Número Decimal Negativo" en EditText?
- El niño especificado ya tiene un padre. Debe llamar a removeView () en el primer padre del niño (Android)
- Cómo detener la entrada después de que la longitud de EditText cruza un límite
- Volver evento clave en EditText
Necesitas un TextWatcher
Véalo aquí en acción:
EditText text = (EditText) findViewById(R.id.YOUR_ID); text.addTextChangedListener(textWatcher); private TextWatcher textWatcher = new TextWatcher() { public void afterTextChanged(Editable s) { } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void onTextChanged(CharSequence s, int start, int before, int count) { } }
Si cambia de opinión para escuchar las pulsaciones de teclas, puede utilizar OnKeyListener
EditText et = (EditText) findViewById(R.id.search_box); et.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //key listening stuff return false; } });
Pero la respuesta de Johe es lo que necesitas.
Implementar un TextWatcher . Te da tres métodos, beforeTextChanged
, onTextChanged
y afterTextChanged
. El último método no debe ser llamado hasta que algo cambie de todos modos, por lo que es una buena cosa para utilizar para ello.
Esto realmente funcionó para mí
EditText text = (EditText) findViewById(R.id.YOUR_ID); text.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(your_string.equals(String.valueOf(s))) { //do something }else{ //do something } } @Override public void afterTextChanged(Editable s) { } });
- Proxy transparente para probar las respuestas del servidor sin conexión en Android
- Establecer Parámetros de diseño RelativeLayout mediante programación – lanza ClassCastException