ListView中的Adaper传递监听事件到Actviity(事件监听)
来源:互联网 发布:cntv live2是什么软件 编辑:程序博客网 时间:2024/05/22 08:10
这几天在写项目的时候频繁采用mvp设计模式,数据合视图的分离让代码的逻辑跟加清晰
先说Adapter中的事件监听有如下几种方式
方式1直接在Adapter中设置
holder.mItemName.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } });
方式2可以吧Adapter在Activity或者其他的内部类代码太多
着重介绍方式3(事件监听传递到Activity中)
需求分析,需要做一个删除好友的功能,好友放在一个List中如果删除成功直接在集合中remove好友,问题的关键是如何获取好友的position。在Adapter中的getVeiw中可以得到position,
1在Adapter中书写接口
public interface DeleteFridenCallBack{ void doDelete(View view,int position); }2在Adapter中定义接口的实现类,改类实现删除好友的接口 最重要的是接收一个position的构造参数
private class DeleteCallBackListener implements View.OnClickListener{ private int position; public DeleteCallBackListener(int position){ this.position=position; } @Override public void onClick(View view) { mCallBack.doDelete(view,position); } }
3 在Adapter中声明成员变量删除好友的接口
private DeleteFridenCallBack mCallBack;
4 Adapter中的构造方法接收一个删除好友的接口参数
5在Activty中实现改接口在设置Adapter中传入大功告成了
mListView.setAdapter(mAdapter,this);
@Override public void doDelete(View view, int position) { }
0 0
- ListView中的Adaper传递监听事件到Actviity(事件监听)
- ListView中的setOnScrollListener监听事件
- ListView事件监听
- listview的监听事件
- Android ListView 点击item 监听事件,通过intent传递对象
- Javascript中的事件监听
- Java中的事件监听
- 事件监听中的问题
- Fragment中的监听事件
- java中的事件监听
- HTML5 中的事件监听
- Android中的事件监听
- JS中的事件监听
- ListView点击事件监听失效
- Listview监听事件的随笔....
- 监听ListView的滚动事件
- listView监听上下滑动事件
- listview点击监听事件失效
- 九度OJ-1088:剩下的树
- 查看linux服务器硬盘IO读写负载
- 教你如何阅读Oracle数据库官方文档
- 数据库 datatime类型默认值 0000-00-00 00:00:00 错误
- 团体程序设计天梯赛L2-014 列车调度
- ListView中的Adaper传递监听事件到Actviity(事件监听)
- 如何解决在ie下,Echarts多次使用setOption更改数据时,数据错乱问题
- Elasticsearch 权限控制
- Android 通过动态代理设置事件监听
- PAT甲级1063. Set Similarity (25)
- RHLE7 系统进程管理
- android studio 怎么查看keystore
- 修改mysql数据库编码格式
- 用通俗易懂的话让你明白电容—储存电的东西