Estou usando AutoCompleteTextView
, quando o usuário clica nele, quero mostrar sugestões, mesmo que não possua texto - mas setThreshold(0)
funcione exatamente da mesma forma que setThreshold(1)
-, para que o usuário precise digitar pelo menos 1 caractere para mostrar as sugestões.
android
autocompletetextview
fhucho
fonte
fonte
Respostas:
Este é um comportamento documentado :
Você pode mostrar manualmente o menu suspenso via
showDropDown()
, talvez seja possível organizá-lo quando quiser. Ou subclasseAutoCompleteTextView
e substituiçãoenoughToFilter()
, retornando otrue
tempo todo.fonte
showDropDown()
não está funcionandoafterTextChanged
quando.getText().toString().length()==0
. WHYYYAqui está minha classe InstantAutoComplete . É algo entre
AutoCompleteTextView
eSpinner
.Use-o no seu xml assim:
fonte
<AutoCompleteTextView ... />
para<your.namespace.InstantAutoComplete ... />
. Perdi algum tempo descobrir isso :)androidx.appcompat.widget.AppCompatAutoCompleteTextView
.Caminho mais fácil:
Basta usar setOnTouchListener e showDropDown ()
fonte
O código do Destil funciona muito bem quando há apenas um
InstantAutoComplete
objeto. Mas não funcionou com dois - não faço ideia do porquê. Mas quando eu colocoshowDropDown()
(como o CommonsWare recomendou) oonFocusChanged()
seguinte:resolveu o problema.
São apenas as duas respostas combinadas adequadamente, mas espero que isso possa poupar alguém algum tempo.
fonte
O adaptador não executa a filtragem inicialmente.
Quando a filtragem não é realizada, a lista suspensa fica vazia.
então você pode ter que iniciar a filtragem inicialmente.
Para fazer isso, você pode chamar
filter()
depois de terminar de adicionar as entradas:fonte
Você pode usar onFocusChangeListener;
fonte
A resposta do Destil acima quase funciona, mas tem um bug sutil. Quando o usuário focaliza o campo pela primeira vez, no entanto, se ele sair e depois retornar ao campo, ele não mostrará a lista suspensa porque o valor de mPopupCanBeUpdated ainda será falso quando oculto. A correção é alterar o método onFocusChanged para:
fonte
Para criar CustomAutoCompleteTextView. 1. substitua o método setThreshold, enoughToFilter, onFocusChanged
fonte
tente
fonte
Basta chamar esse método ao tocar ou clicar no evento do autoCompleteTextView ou onde desejar.
fonte
Isso funcionou para mim, pseudo-código:
fonte
Basta colar isso no seu método onCreate em Java
E isso no seu arquivo XML ...
E crie uma matriz em string.xml em Valores ...
E você está pronto para ir.
fonte
Sete anos depois, pessoal, o problema permanece o mesmo. Aqui está uma classe com uma função que força esse pop-up estúpido a se mostrar em qualquer condição. Tudo o que você precisa fazer é definir um adaptador para o AutoCompleteTextView, adicionar alguns dados nele e chamar a
showDropdownNow()
função a qualquer momento.Créditos para @David Vávra. É baseado no código dele.
fonte
no FocusChangeListener, verifique
no seu filtro, apenas apare este valor:
e mostrará todas as sugestões quando você se concentrar nessa visualização.
fonte