web-dev-qa-db-fra.com

comment changer le texte Android SearchView

Existe-t-il une méthode setText () pour SearchView ou quelque chose du genre?.

searchView.setText(searchToken);
71
Khaled Annajar

Après m'être demandé et avoir essayé, j'ai découvert qu'il existait une méthode dans l'API nommée setQuery () dans laquelle vous définissiez le texte searchView et que vous pouviez choisir de soumettre la recherche ou de ne pas utiliser le paramètre boolean.

searchView.setQuery(searchToken, false);
140
Khaled Annajar

Vous pouvez utiliser setQuery() pour modifier le texte dans la zone de texte.

Cependant, la méthode setQuery() déclenche l'état de focus d'une vue de recherche, de sorte qu'un clavier s'affiche à l'écran après l'appel de cette méthode.

Pour résoudre ce problème, il suffit d'appeler la méthode searchView.clearFocus() après la méthode setQuery() pour la déconcentrer et le clavier ne s'affichera pas à l'écran.

Exemple:

String suggestWord = intent.getDataString();
searchView.setQuery(suggestWord, false);
searchView.clearFocus();
22
kunemata

c'est ce qui a fonctionné pour moi

    MenuItem sItem = menu.findItem(R.id.search);
    SearchView searchView = (SearchView) sItem.getActionView();

    sItem.expandActionView();
    searchView.setQuery("your text", false);
1
Wowo Ot