如何更改android SearchView文本

问题描述 投票:78回答:4

是否有针对SearchView的setText()方法或类似的东西?我尝试在searchView中设置搜索文本,但是没有像这样的方法。

searchView.setText(searchToken);
android searchview
4个回答
151
投票

在想知道并尝试之后我发现API中有一个名为setQuery()的方法,你设置了searchView文本,你可以选择提交搜索或不使用布尔参数。

searchView.setQuery(searchToken, false);

25
投票

您可以使用setQuery()更改文本框中的文本。

但是,setQuery()方法会触发搜索视图的焦点状态,因此在调用此方法后,屏幕上会显示键盘。

要解决这个问题,只需在searchView.clearFocus()方法之后调用setQuery()使其取消聚焦,键盘就不会显示在屏幕上。

例:

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

4
投票

如果你想用一些文字预先填充你的qazxsw poi qazxsw poi将无法开箱即用。原因是当SearchView扩大时

searchView.setQuery(text, false)

调用调用SearchView并清除我们设置的任何文本。

解决方案是设置展开侦听器并在展开searchView.onActionViewExpanded()后设置pre-fil文本

searchView.setText("")

2
投票

这对我有用

SearchView
© www.soinside.com 2019 - 2024. All rights reserved.