使用文本隐藏扩展的SearchView,而不执行具有空值的过滤器

时间:2017-01-13 01:43:05

标签: android android-toolbar searchview android-menu

我在工具栏中有许多菜单组的菜单。当我进行搜索时,我会过滤我的recyclerView,然后执行长按,此时我希望展开的SearchView隐藏并显示另一个menuGroup(带有编辑按钮)以对所选项执行操作。

但是当我打电话时

actionView.setIconified(true)

在它发送到我的过滤器请求的源代码中过滤查询“”,因此我丢失了过滤后的结果并获得了未过滤的数据集。

如何隐藏\ show searchView没有这些不必要的内部调用过滤器?谢谢。

1 个答案:

答案 0 :(得分:0)

好的,我终于想出了怎么做。要操纵SearchView,不应该调用

actionView.setIconified(true)

MenuItemImpl expandedItem = menu.getExpandedItem(); (our menu in toolbar)
expandedItem.collapseActionView();

因为它触发ActionView重置过滤后的数据,因为它意味着“我不再需要搜索”。 相反,您应该使用可见性进行操作 以及下面的方法效果很好。

actionView.setVisibility(View.GONE);

它不会使SearchView执行其他调用,只是从视线中删除扩展的SearchView。您的数据保持不变。