
我有一个问题:我在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的员工列表(但在按下第二个按钮后没有恢复原始列表)
非常感谢!
解决方法:
SearchVIEw上有一个方法在搜索视图崩溃时被触发(onActionVIEwCollapsed),但没有任何事件.为了解决这个问题,我创建了自己的继承自SearchVIEw的类,并定义了2个事件来捕获折叠和扩展.该类还提供了连接事件处理程序的方法.
public class MySearchVIEw extends SearchVIEw { OnSearchVIEwCollapsedEventListener mSearchVIEwCollapsedEventListener; OnSearchVIEwExpandedEventListener mOnSearchVIEwExpandedEventListener; public MySearchVIEw(Context context) { super(context); } @OverrIDe public voID onActionVIEwCollapsed() { if (mSearchVIEwCollapsedEventListener != null) mSearchVIEwCollapsedEventListener.onSearchVIEwCollapsed(); super.onActionVIEwCollapsed(); } @OverrIDe public voID onActionVIEwExpanded() { if (mOnSearchVIEwExpandedEventListener != null) mOnSearchVIEwExpandedEventListener.onSearchVIEwExpanded(); super.onActionVIEwExpanded(); } public interface OnSearchVIEwCollapsedEventListener { public voID onSearchVIEwCollapsed(); } public interface OnSearchVIEwExpandedEventListener { public voID onSearchVIEwExpanded(); } public voID setonSearchVIEwCollapsedEventListener(OnSearchVIEwCollapsedEventListener eventListener) { mSearchVIEwCollapsedEventListener = eventListener; } public voID setonSearchVIEwExpandedEventListener(OnSearchVIEwExpandedEventListener eventListener) { mOnSearchVIEwExpandedEventListener = eventListener; }} 总结 以上是内存溢出为你收集整理的android – 如何知道ActionView在 *** 作栏中何时关闭?全部内容,希望文章能够帮你解决android – 如何知道ActionView在 *** 作栏中何时关闭?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)