Czy istnieje metoda setText () dla SearchView lub coś podobnego? Próbuję ustawić tekst wyszukiwania w searchView w ten sposób, ale nie ma takiej metody.
searchView.setText(searchToken);
android
searchview
Khaled Annajar
źródło
źródło
true
tak, aby zapytanie również zostało wykonane, ale zauważ, że chociaż zapytanie zostanie wykonane dobrze, pole tekstowe pozostaje puste, aż do ręcznego ustawienia fokusa. Jak upewnić się, że automatycznie ustawiona wartość jest również wyświetlana automatycznie?Możesz użyć,
setQuery()
aby zmienić tekst w polu tekstowym.Jednak
setQuery()
metoda wyzwala stan fokusu widoku wyszukiwania, więc klawiatura zostanie wyświetlona na ekranie po wywołaniu tej metody.Aby rozwiązać ten problem, po prostu wywołaj metodę
searchView.clearFocus()
posetQuery()
, aby ją rozogniskować, a klawiatura nie pojawi się na ekranie.Przykład:
String suggestWord = intent.getDataString(); searchView.setQuery(suggestWord, false); searchView.clearFocus();
źródło
to działa dla mnie
MenuItem sItem = menu.findItem(R.id.search); SearchView searchView = (SearchView) sItem.getActionView(); sItem.expandActionView(); searchView.setQuery("your text", false);
źródło
Jeśli chcesz wstępnie wypełnić
SearchView
jakiś tekstsearchView.setQuery(text, false)
, nie zadziała po wyjęciu z pudełka. powodem jestSearchView
rozszerzeniesearchView.onActionViewExpanded()
uzyskać połączenie, które wywołuje
searchView.setText("")
i czyści każdy ustawiony przez nas tekst.Rozwiązaniem jest ustawienie detektora Expand i ustawienie tekstu wstępnego po
SearchView
rozwinięciuoverride fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.main, menu) val searchView = menu.findItem(R.id.action_search).actionView as SearchView menu.findItem(R.id.action_search).setOnActionExpandListener(object : MenuItem.OnActionExpandListener { override fun onMenuItemActionExpand(item: MenuItem?): Boolean { // it is important to call this before we set our own query text. searchView.onActionViewExpanded() searchView.setQuery("Prefil Text", false) return true } override fun onMenuItemActionCollapse(item: MenuItem?) = true }) return true }
źródło
Jeśli chcesz, aby searchView rozwijał się i można go zmniejszyć z powrotem do ikony po dotknięciu przez użytkownika x (zamknij), sposób jest następujący:
searchView.isIconified = false // Expand it searchView.setQuery("your text here", false) // true if you want to submit, otherwise false searchView.clearFocus() // so the keyboard is not show up.
UWAGA: Jeśli rozszerzysz go za pomocą:
searchView.onActionViewExpanded()
searchView nie zmniejszy się z powrotem po dotknięciu przez użytkownika x (zamknij)
źródło