Gibt es eine setText () -Methode für SearchView oder ähnliches? Ich versuche, den Suchtext in der Suchansicht so einzustellen, aber es gibt keine Methode dafür.
searchView.setText(searchToken);
android
searchview
Khaled Annajar
quelle
quelle
true
so eingestellt, dass auch die Abfrage ausgeführt wird. Beachten Sie jedoch, dass das Textfeld leer bleibt, bis die manuelle Fokussierung erfolgt, obwohl die Abfrage gut ausgeführt wird. Wie würde ich sicherstellen, dass der automatisch eingestellte Wert auch automatisch angezeigt wird?Sie können
setQuery()
den Text im Textfeld ändern.Die
setQuery()
Methode löst jedoch den Fokusstatus einer Suchansicht aus, sodass nach dem Aufrufen dieser Methode eine Tastatur auf dem Bildschirm angezeigt wird.Um dieses Problem zu beheben, rufen Sie einfach die Methode
searchView.clearFocus()
after aufsetQuery()
, um die Fokussierung aufzuheben, und die Tastatur wird nicht auf dem Bildschirm angezeigt.Beispiel:
quelle
Wenn Sie möchten, dass Ihr
SearchView
Text vorab abgelegt wird,searchView.setQuery(text, false)
funktioniert dies nicht sofort. Der Grund ist, wennSearchView
erweitert wirdsearchView.onActionViewExpanded()
wird angerufen, der den von
searchView.setText("")
uns festgelegten Text aufruft und löscht.Die Lösung besteht darin, einen Erweiterungs-Listener festzulegen und den Pre-Fil-Text festzulegen, sobald der
SearchView
erweitert istquelle
Das hat bei mir funktioniert
quelle
Wenn Sie möchten, dass die Suchansicht erweitert wird und nach dem Tippen auf x (Schließen) auf ein Symbol verkleinert werden kann, haben Sie folgende Möglichkeiten:
HINWEIS: Wenn Sie es erweitern mit:
searchView wird nicht verkleinert, nachdem der Benutzer auf x (Schließen) getippt hat.
quelle