RecyclerView 给Item添加点击事件
来源:互联网 发布:淘宝网男加宽牛仔裤 编辑:程序博客网 时间:2024/05/22 03:32
转载:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2004.html
添加点击事件
上一节中我们讲了如何使用RecyclerView的Adpater,其实我们会发现,Adapter是添加点击事件一个很好的地方,里面是构造布局等View的主要场所,也是数据和布局进行绑定的地方。首先我们在Adapter中创建一个实现点击接口,其中view是点击的Item,data是我们的数据,因为我们想知道我点击的区域部分的数据是什么,以便我下一步进行操作:
public static interface OnRecyclerViewItemClickListener { void onItemClick(View view , DataModel data);}
定义完接口,添加接口和设置Adapter接口的方法:
private OnRecyclerViewItemClickListener mOnItemClickListener = null; public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) { this.mOnItemClickListener = listener;}
那么这个接口用在什么地方呢?如下代码所示,我们为Adapter实现OnClickListener方法:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener{ @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, final int i) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item, viewGroup, false); ViewHolder vh = new ViewHolder(view); //将创建的View注册点击事件 view.setOnClickListener(this); return vh; } @Override public void onBindViewHolder(ViewHolder viewHolder, final int i) { viewHolder.mTextView.setText(datas.get(i).title); //将数据保存在itemView的Tag中,以便点击时进行获取 viewHolder.itemView.setTag(datas.get(i)); } ... @Override public void onClick(View v) { if (mOnItemClickListener != null) { //注意这里使用getTag方法获取数据 mOnItemClickListener.onItemClick(v,(DataModel)v.getTag()); } } ...}
做完这些事情,我们就可以在Activity或其他地方为RecyclerView添加项目点击事件了,如在MainActivity中:
mAdapter = new MyAdapter(getDummyDatas());mRecyclerView.setAdapter(mAdapter);mAdapter.setOnItemClickListener(new MyAdapter.OnRecyclerViewItemClickListener() { @Override public void onItemClick(View view, DataModel data) { //DO your fucking bussiness here! }});
完成了以上代码就可以为RecyclerView添加项目点击事件了,下面我们来看看RecyclerView如何添加和删除数据并在界面上显示。
3 0
- RecyclerView 给Item添加点击事件
- 给RecyclerView的Item添加点击事件
- Android RecyclerView给Item添加点击事件
- Android RecyclerView使用(二) -给Item添加点击事件
- 给RecyclerView的item添加点击监听事件
- 给recyclerview的item添加点击事件的 一种方法
- 给RecyclerView的item添加点击监听事件
- RecyclerView + CardView 添加Item点击事件
- 为RecyclerView添加item的点击事件
- 为RecyclerView添加item的点击事件
- 为RecyclerView添加item的点击事件
- 为RecyclerView添加item的点击事件
- 为RecyclerView添加item的点击事件
- 为RecyclerView添加item的点击事件
- 为RecyclerView添加item的点击事件
- RecyclerView添加Item的点击事件
- 为RecyclerView添加item的点击事件
- 对RecyclerView的item添加点击事件
- struts2中的Action
- BootStrap表单
- linux下显示不规则图片窗口
- 带超时的system
- Android中的抖动解码(inDither)
- RecyclerView 给Item添加点击事件
- poj解题报告——1183
- HDU 1176
- QT安装路径
- 一种手机跨平台语言传输解码方法
- 部署自己的博客:Github+Jekyll
- JavaSE----面向对象(封装、构造方法、this、static、代码块)
- 深入sql server中的事务
- SparkR基本操作