Android 开源项目浅读-------SwipeMenuListView-重写,八章,菜单响应

来源:互联网 发布:阿里云代金券出售 编辑:程序博客网 时间:2024/05/16 07:24

其实这个响应,改动的类很多基本都改动了。我就说一下思路,我们知道。我们的SwipeMenuView对象可以得到用户的Click函数,我们通过OnSwipeItemClickListener接口,将事件传递到SwipeMenuListView里面,SwipeMenuView又传递给它的实现类SwipeMenuAdapter类。而SwieMenuListView里面也有一个接口OnMenuItemClickListener,这个接口的实习是交给用户来实现的。所以很我们在MainAcitivity里面实现即可响应。

    @Override    public void setAdapter(ListAdapter adapter) {        super.setAdapter(new SwipeMenuAdapter(getContext(), adapter){            @Override            public void createMenu(SwipeMenu menu) {                super.createMenu(menu);            }            @Override            public void onItemClick(SwipeMenuView view, SwipeMenu menu, int index) {                /*响应用户的点击菜单事件并关闭菜单*/              //  super.onItemClick(view, menu, index);                if(mOnMenuItemClickListener != null){                    mOnMenuItemClickListener.onMenuItemClick(view.getPosition(),menu, index);                }                Log.i(TAG, "OnItemClick");                if(mTouchView!= null){                    mTouchView.smoothCloseMenu();                }            }        });    }

这是SwipeMenuListView里面的setAdapter代码。这里要说明的一点是。OnClick从SwipeMenuListView传递给SwipeMenuAdapter之前,SwipeMenuView重写了onItemClick方法,我们可以放心SwipeMenuAdapter里面的OnItemClick方法不响应了。至于为什么这样实现,估计是为了解耦和吧。onItemClick实现的方法很多依靠SwipeMenuListView的成员。

通过这个我们就可以实现点击按键响应了。


点击下载

0 0
原创粉丝点击