de Android ¿Cómo puedo evitar que una línea de código como:¿Cómo puedo evitar la ejecución de OnTextChanged en EditarTexto
((EditText) findViewById(R.id.MyEditText)).setText("Hello");
causará un evento aquí:
((EditText) findViewById(R.id.MyEditText)).addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
// HERE
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
Quiero saber si hay cualquier forma de inhibir la ejecución de onTextChanged como noté en el caso de seleccionar un resultado desplegable de AutoCompleteTextView (¡no se ejecuta onTextChanged!).
No estoy en busca de soluciones como "hola, si no hacer nada" ...
Configurar el texto activará ese oyente. Una forma simple es hacer una referencia al 'TextWatcher', eliminar el oyente antes de configurar el texto (con' removeTextChangedListener (watcher) '), establecer el texto, re habilitar el oyente (con' addTextChangedListener (watcher) '). Puede tener esto en un método por conveniencia si lo hace más de unas pocas veces. – Luksprog
posible duplicado de [Android: ¿Cómo puedo cambiar el texto de EditText sin activar el Text Watcher que tengo en él?] (Http://stackoverflow.com/questions/9385081/android-how-can-i-change-the- edittext-text-without-triggering-the-text-watcher) – danpetruk
Ejemplo de la misma pregunta resuelta para la actualización en la casilla de verificación con el oyente http://stackoverflow.com/a/15523518/2162226 – gnB