Android AutoCompleteTextView onItemSelectedListener no se dispara con un teclado bluetooth
Tengo una aplicación sencilla que contiene sólo un AutoCompleteTextView
(código de abajo). Tengo OnItemClickListener
y OnItemSelectedListener
definidos. Al hacer clic en los elementos individuales de las sugerencias desplegables se activa el evento onItemClick
. Sin embargo, con un teclado bluetooth, utilizar las teclas de flechas para navegar a un elemento dado no parece activar el evento onItemSelected
(los registros no se ven para este evento).
¿Qué desencadena este evento onItemSelected
? Yo estaba bajo la impresión de que un highlight
en uno de los elementos desplegables lo hace, pero que no parece ser el caso.
- Los espacios no funcionan cuando se utiliza la API de autocompletar de Google Places
- Android cómo hacer que AutoCompleteTextView funcione como cuadro de búsqueda de google
- Desplazamiento del menú desplegable sobre el teclado en autocompletetextview
- Android - AutoCompleteTextView sugerencia comodín
- AutoCompleteTextView no funciona cuando introdujo el primer carácter
Si OnItemSelectedListener
no es el oyente de evento correcto para el elemento resaltado, ¿hay alguna que satisface este requisito?
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent"> <AutoCompleteTextView android:id="@+id/autoCompleteTextView" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout>
MainActivity.java
public class MainActivity extends Activity { String[] options = {"a1", "a2", "a3", "b1", "b2", "b3", "b4", "b5"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // An adapter object ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_item, options); AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView); autoCompleteTextView.setAdapter(adapter); autoCompleteTextView.setThreshold(1); // Set the listeners autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Log.d("OnItemClick", "[AutoCompleteTextView] Item clicked"); } }); autoCompleteTextView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Log.d("onItemSelected", "[AutoCompleteTextView] Item selected"); } @Override public void onNothingSelected(AdapterView<?> parent) { Log.d("onNothingSelected", "[AutoCompleteTextView] Nothing here"); } }); } }
- Android: Utilizar el elemento seleccionado en AutoCompleteTextView para rellenar otro campo
- Cómo encontrar la posición del elemento en un AutoCompletetextview lleno de matriz
- AutocompleteTextview y CompletionHintView
- AutoCompleteTextView fuerza para mostrar todos los elementos
- Personalizar divisor / separador en la lista desplegable de un AutocompleteTextview
- Java.lang.NullPointerException - AutoCompleteTextView - HoneyComb
- Diseño personalizado de Android para AutoCompleteTextView
- Android: autocompletetextview, la lista de sugerencias aparece encima de la vista de texto?
Debe utilizar onFocusChangeListener para esto. On onItemSelectedListener es para las vistas seleccionables (como las de listview).
- ¿Cómo seleccionar y copiar texto en una vista que no está asociada a una actividad?
- Google Analytics: vista web y vista de aplicaciones