Existe um método setText () para SearchView ou algo parecido? Tento definir o texto de pesquisa no searchView desta forma, mas não há nenhum método para fazer isso.
searchView.setText(searchToken);
android
searchview
Khaled Annajar
fonte
fonte
true
que a consulta seja executada também, mas observe que, embora a consulta seja bem executada, a caixa de texto permanece em branco, até quando o foco é dado manualmente. Como posso garantir que o valor definido automaticamente também seja exibido automaticamente?Você pode usar
setQuery()
para alterar o texto na caixa de texto.No entanto, o
setQuery()
método aciona o estado de foco de uma visualização de pesquisa, portanto, um teclado será exibido na tela após esse método ter sido invocado.Para corrigir esse problema, basta ligar
searchView.clearFocus()
depoissetQuery()
método para desfocar-lo e o teclado não irá mostrar na tela.Exemplo:
fonte
Se você quiser pré-preencher
SearchView
com algum textosearchView.setQuery(text, false)
, não funcionará fora da caixa. a razão é quandoSearchView
se expandesearchView.onActionViewExpanded()
é chamado o que chama
searchView.setText("")
e limpa qualquer texto que definimos.Solução é definir um ouvinte Expandir e definir o texto pré-fil uma vez que o
SearchView
é expandidofonte
Isto é o que funcionou para mim
fonte
Se você quiser que o searchView se expanda e possa ser reduzido a um ícone depois que o usuário tocar em x (fechar), o método é:
NOTA: Se você expandir usando:
searchView não diminuirá depois que o usuário tocar em x (fechar)
fonte