AutoCompleteTextView detecta cuando se selecciona la entrada de la lista editada por el usuario

Tengo un AutoCompleteTextView que utilizo para seleccionar un artículo de una lista larga. El usuario sólo debe poder seleccionar un elemento predeterminado de la lista. No deben ser capaces de entrar en su propio artículo.

La manera que compruebo para cerciorarse de que envían solamente un artículo de la lista es utilizar setOnItemClickListener para accionar un indicador boolean. El problema es que después de que el indicador booleano se establece en true, todavía pueden editar el texto seleccionado del elemento. Necesito detectar esto y poner el indicador booleano a falso otra vez. Cómo hago esto. He visto una sugerencia para usar onKeyDown , pero no estoy seguro de cómo implementar esto.

Usted puede agregar el oyente cambiado de texto:

 autoCompleteTextView.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); 

Implementar un TextWatcher , que le dará 3 métodos que constantemente obtener call backs cuando alguien cambia el texto. Si la cadena crece, su usuario está escribiendo por sí mismo nuevamente.

Utilizar

 AutoCompleteTextView#setOnItemSelectedListener() 

– Funciona de maravilla.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.