Подтвердить что ты не робот

Как изменить андроид

Есть ли метод setText() для SearchView или что-то в этом роде? Я пытаюсь установить текст поиска в searchView, как это, но нет такого метода для этого.

searchView.setText(searchToken);
4b9b3361

Ответ 1

Подумав и попробовав, я обнаружил, что в API с именем setQuery() указан метод, который вы задали для текста searchView, и вы можете отправить запрос или не использовать логический параметр.

searchView.setQuery(searchToken, false);

Ответ 2

Вы можете использовать setQuery() для изменения текста в текстовом поле.

Однако метод setQuery() запускает состояние фокусировки в режиме поиска, поэтому клавиатура будет отображаться на экране после вызова этого метода.

Чтобы устранить эту проблему, просто вызовите searchView.clearFocus() после setQuery() метода, чтобы развернуть его, и клавиатура не будет отображаться на экране.

Пример:

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

Ответ 3

Если вы хотите предварительно SearchView свой SearchView каким-либо текстом, searchView.setQuery(text, false) не будет работать из коробки. причина в том, что SearchView расширяется

searchView.onActionViewExpanded()

вызывается, который вызывает searchView.setText("") и очищает любой текст, который мы установили.

Решение состоит в том, чтобы установить прослушиватель Expand и установить текст pre-fil после расширения SearchView

override 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
}

Ответ 4

Попробуйте следующее:

searchView.setQueryHint("Search exchange...");

Ответ 5

это то, что сработало для меня

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

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