¿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.

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) { } }); 
  • ¿Cómo personalizar el mecanismo de sugerencias automáticas "chips", como se usa en el campo de destinatarios de Gmail?
  • Cómo hacer multiline edittext en android
  • EditText setError está fuera de lugar en BottomSheetDialog
  • ¿Cómo agregar margen entre EditText y Soft Keyboard?
  • Espacios de verificación de Android en EditText
  • No se puede obtener maxLength de EditText! (InputFilter.LengthFilter no tiene parámetro de longitud, ¿ahora qué?)
  • Problema de espaciado de diálogo de alerta con texto y editar texto
  • Cómo dibujar rectángulo redondeado en la interfaz de usuario de Android?
  • Cómo crear una preferencia que acepte sólo valores enteros
  • Android EditText ("Textbox"): Auto capitalización de la primera letra de cada palabra mientras el usuario escribe
  • Cómo recuperar el valor de EditText en AlertDialog?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.