【发布时间】:2014-11-10 20:29:43
【问题描述】:
我有一个问题:我在Fragment 中有一个listView,我实现了一个searchView (actionView) 以使用searchView onQueryTextChange 事件过滤listView 中的列表。我在这部分没有问题,一切正常。
adapter = new ListaEmpleadosAdapter(getActivity(), empleadoItems, context);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_buscar).getActionView();
SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
try {
adapter.getFilter().filter(s);
adapter.notifyDataSetChanged();
} catch (Exception e) {
System.err.println("ERROR FragmentEmpleado -> " + e.toString());
}
return true;
}
};
当我第一次搜索并按下返回按钮时,软键盘关闭。这很正常。当我再次按下返回按钮时,searchView 关闭,这很正常,但列表没有返回到初始项。
如何在 searchView 折叠时获取事件(因为searchView.setOnCloseListener 不起作用)以恢复初始列表项?或以任何方式恢复删除适配器过滤器的初始列表项...
历史:
- 员工名单
- 具有特定过滤器的员工列表(第一次按下后退按钮后,键盘关闭)
- searchView 关闭的员工列表(但在第二次按下后退按钮后没有恢复原始列表)
非常感谢!
【问题讨论】:
-
如何解决问题我有同样的问题#Cristiam Mercado
标签: android list listview searchview