最近 产品 想让我们开发人员在收藏功能中添加一个类似qq侧滑删除的功能,说实话这个在网上一找一大把,但每个人都有每个人的方法 ,在借鉴前辈们的思路下,找到自己方法。我在adapter下 添加一个回调接口, 话不多说先看一下效果吧(第一次写博客 说实话动态图还不知道怎么上传,先看一下普通的三张图片吧)
具体的代码我就不粘了,代码在这个网址下:https://git.oschina.net/nanjw/CeHuaDelete.git
图一
图二
兔三
主要是需要自定义一个侧滑的listVeiw,里面包含对侧滑出右边布局的操作(我这个布局是自己定死的,你们可以按照需求来做,具体大小获取屏幕的宽度后在具体操作),主要是一些事件分发,里面前辈们写的注释很详细
然后就是我在适配器做的操作处理,整体的适配器跟平常的相差不大,我主要在适配器里面添加了一个接口回调的方
法,如图
然后再适配器的getView方法中调用这个监听,如图
然后在从activity中调用这个回调 如图
其实仔细这么一看也不难,但大家要注意 对于适配器adapter千万不要随意的new 一个新的对象,如果你时不时的new一个新的,那么适配器中的mListener会为null,因为这不是一个对象,所以你点击删除不会启任何的效果。
或许我们在开发中 会发现 这个adapter.notifyDataSetChanged()这个方法不好使,大家可以这样办:
AList.clear(); //将原先的数据源集合清空
BList //在创建一个新的集合去获取我们的数据
AList.addAll(BList); //在把B添加到A中
这样保证我们刷新的数据源对象保持一致。
第一次写博客,请大家谅解 有什么好想法和问题的我们一起探讨。 工作QQ: 3424075535