使用委托模式在Activity中操作RecyclerView中的item
来源:互联网 发布:货运物流软件 编辑:程序博客网 时间:2024/06/05 05:06
RecyclerView与ListView不同,无法直接通过setItemClicklistener来获得单个item的点击时间,这个时候,我们可以通过在adapter中定义接口,并在Activity中实现相应接口来获得每个Item的点击事件,也就是标准的委托模式。
具体做法如下:
第一步 在Adapter类中定义内部接口,我自己定义的如下:
/** * 在活动中实现的接口 */ public interface SelectItem { /** * 在活动中定义的方法 * @param view view对象 * @param position item的位置 */ void select(View view, int position); }
第二步 在onBindViewHolder方法中定义定义点击事件,并在点击事件中执行该接口的逻辑
holder.mainView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (null != mSelectItem) { mSelectItem.select(v, i); } } });
这样我们就得到了在回调函数中的view和position,这样就能在Activity中对相应的数据进行操作了
第四步 在adapter中定义定义设置委托对象的函数
public void setSelectItem(SelectItem selectItem) { mSelectItem = selectItem; }
做好这一步,我们就可以通过在Activity中重写接口中的方法来获得当前点击类的位置和view对象了
最后一步,在Activity中重写接口函数
pickItemAdapter.setSelectItem(new PickItemAdapter.SelectItem() { @Override public void select(View view, int position) { selectItem(position); //对数据进行操作的函数,自己定义的 } });
这样我们就能很方便地获取当前item的位置,对数据进行操作了!
阅读全文
0 0
- 使用委托模式在Activity中操作RecyclerView中的item
- 在RecyclerView中自定义Item点击监听
- RecyclerView 删除item操作
- Android中RecyclerView使用,RecyclerView-Item点击事件设置
- 删除recyclerview中的item
- MVP在RecyclerView中的使用
- 使用Activity类中的公共方法在UI线程中进行耗时操作
- 接口回调----点击item中的ImageView,在Activity中显示dialog
- AndroidStudio GradView在RecyclerView中设置条目(Item)点击事件
- 在kotlin中使用RecyclerView
- RecyclerView中的item点击事件
- Recyclerview item中有EditText使用刷新遇到的坑!!!!!
- Android中Recyclerview使用14----RecycleView的item间距设置
- RecyclerView使用中同一个Item总是有两个viewholder对象
- RecyclerView在mvp模式中的刷新
- androidTV中使用recyclerview并使其item在获取焦点后获取边框,并伴随放大,凸显效果
- 在C#中使用委托
- 在C#中使用委托 .
- 动态规划--护卫队
- python爬虫案例——csdn数据采集
- 第一章问答题
- Zabbix3.2.9QQ群消息实现告警
- Win32 OpenGL标准例子
- 使用委托模式在Activity中操作RecyclerView中的item
- 文章标题
- servlet/filter/listener/interceptor区别与联系
- MySQL之——将一个表的字段更新到另一个表中
- DNA Sorting
- Reverse Bits
- 300. Longest Increasing Subsequence
- Minimum Path Sum
- 1047. 编程团体赛(20)