Estoy usando AutoCompleteTextView
, cuando el usuario hace clic en él, quiero mostrar sugerencias incluso si no tiene texto, pero setThreshold(0)
funciona exactamente igual que setThreshold(1)
, por lo que el usuario debe ingresar al menos 1 carácter para mostrar las sugerencias.
android
autocompletetextview
fhucho
fuente
fuente
Respuestas:
Este es un comportamiento documentado :
Puede mostrar manualmente el menú desplegable a través de
showDropDown()
, por lo que tal vez pueda hacer arreglos para mostrarlo cuando lo desee. O, subclaseAutoCompleteTextView
y anulaciónenoughToFilter()
, regresandotrue
todo el tiempo.fuente
showDropDown()
no funcionaafterTextChanged
cuando.getText().toString().length()==0
. WHYYYAquí está mi clase InstantAutoComplete . Es algo entre
AutoCompleteTextView
ySpinner
.Úselo en su xml así:
fuente
<AutoCompleteTextView ... />
a<your.namespace.InstantAutoComplete ... />
. Perdí algo de tiempo resolviendo esto :)androidx.appcompat.widget.AppCompatAutoCompleteTextView
.La manera más fácil:
Simplemente use setOnTouchListener y showDropDown ()
fuente
El código de Destil funciona muy bien cuando solo hay un
InstantAutoComplete
objeto. Sin embargo, no funcionó con dos , ni idea de por qué. Pero cuando pongoshowDropDown()
(como recomienda CommonsWare) enonFocusChanged()
esto:Se solucionó el problema.
Son solo las dos respuestas combinadas correctamente, pero espero que le ahorre algo de tiempo a alguien.
fuente
El adaptador no realiza el filtrado inicialmente.
Cuando no se realiza el filtrado, la lista desplegable está vacía.
por lo que es posible que deba comenzar el filtrado inicialmente.
Para hacerlo, puede invocar
filter()
después de terminar de agregar las entradas:fuente
Puede usar onFocusChangeListener;
fuente
La respuesta anterior de Destil casi funciona, pero tiene un error sutil. Cuando el usuario enfoca el campo por primera vez, funciona, sin embargo, si se va y luego regresa al campo, no mostrará el menú desplegable porque el valor de mPopupCanBeUpdated seguirá siendo falso cuando estaba oculto. La solución es cambiar el método onFocusChanged a:
fuente
Para hacer CustomAutoCompleteTextView. 1. anular setThreshold, enoughToFilter, método onFocusChanged
fuente
intentalo
fuente
Simplemente llame a este método en el evento táctil o haga clic en autoCompleteTextView o donde desee.
fuente
Esto funcionó para mí, pseudocódigo:
fuente
Simplemente pegue esto en su método onCreate en Java
Y esto a su archivo Xml ...
Y cree una matriz en string.xml en Valores ...
Y eres bueno para ir.
fuente
Siete años después, chicos, el problema sigue siendo el mismo. Aquí hay una clase con una función que obliga a esa estúpida ventana emergente a mostrarse en cualquier condición. Todo lo que necesita hacer es configurar un adaptador para su AutoCompleteTextView, agregar algunos datos y llamar
showDropdownNow()
función en cualquier momento.Créditos a @David Vávra. Está basado en su código.
fuente
en FocusChangeListener, verifique
en su filtro, simplemente recorte este valor:
y mostrará todas las sugerencias cuando te concentres en esta vista.
fuente