如何解决按代码关闭SearchviewAndroid:androidx.appcompat.widget
我在操作栏中有一个Searchview,对此我希望有一种特殊的行为,但无法实现。 单击搜索时,操作栏中会出现一个编辑字段。 在搜索编辑字段中键入内容时,键入时将即时显示结果列表。
到目前为止很好,这是默认行为。
否,当我从列表中选择任何结果时,我想关闭搜索栏,但是当前搜索栏一直显示在操作栏中。
插图: 默认情况下,操作栏:
我点击搜索并开始输入:
应用栏仍显示字段编辑。我必须通过单击关闭按钮来关闭该字段。如何通过代码隐藏字段,因此应用程序栏看起来像默认的第一个屏幕截图?
searchView.setonItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,View view,int position,long id) {
<close field and show search icon again>
// my tries,which didn't work correctly
//searchView.clearFocus();
//searchView.setIconified(true);
//searchView.setVisibility(View.GONE);
//searchItem.setVisible(true);
}
}
解决方法
正如文档所说:https://developer.android.com/reference/android/widget/SearchView#setIconifiedByDefault(boolean)
searchView.setQuery("",false);
if (!searchView.isIconifiedByDefault()) {
searchView.setIconifiedByDefault(true);
}
编辑:不推荐使用setIconified(true)和isIconfied()
也可以尝试在菜单上设置app:showAsAction =“ always”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。