RecycleView监听实现
来源:互联网 发布:东莞东莞菲凡网络 编辑:程序博客网 时间:2024/06/06 09:27
第一种在adapter中添加listenner实现
listenner接口
public interface OnclickRecycle { void Onclick(View view, String data);}
一:在onCreateViewHolder添加监听,但是这种方法没法传递position,getposition()方法应该是过时了。
public class LinearAdapter extends RecyclerView.Adapter<LinearAdapter.MyViewHolder> implements View.OnClickListener{ private OnclickRecycle onclickRecycle=null; private Context context; private List<String> mDatas; public LinearAdapter(Context context){ this.context=context; } public OnclickRecycle getOnclickRecycle() { return onclickRecycle; } public void setOnclickRecycle(OnclickRecycle onclickRecycle) { this.onclickRecycle = onclickRecycle; } public List<String> getmDatas() { return mDatas; } public void setmDatas(List<String> mDatas) { this.mDatas = mDatas; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v= LayoutInflater.from( context).inflate(R.layout.item_home, parent, false); LinearAdapter.MyViewHolder holder = new LinearAdapter.MyViewHolder(v); v.setOnClickListener(this); //给这个View添加监听 return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.tv.setText(mDatas.get(position)); holder.itemView.setTag(mDatas.get(position)); } @Override public int getItemCount() { return mDatas.size(); } @Override public void onClick(View v) { if(onclickRecycle!=null){ onclickRecycle.Onclick(v,(String)v.getTag()); } } static class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; public MyViewHolder(View view) { super(view); tv = (TextView) view.findViewById(R.id.id_num); } }}
二:在onBindViewHolder中实现
public class LinearAdapter2 extends RecyclerView.Adapter<LinearAdapter2.MyViewHolder> { public OnclickRecycle onclickRecycle=null; private Context context; private List<String> mDatas; public LinearAdapter2(Context context){ this.context=context; } public OnclickRecycle getOnclickRecycle() { return onclickRecycle; } public void setOnclickRecycle(OnclickRecycle onclickRecycle) { this.onclickRecycle = onclickRecycle; } public List<String> getmDatas() { return mDatas; } public void setmDatas(List<String> mDatas) { this.mDatas = mDatas; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v= LayoutInflater.from( context).inflate(R.layout.item_home, parent, false); LinearAdapter2.MyViewHolder holder = new LinearAdapter2.MyViewHolder(v); return holder; } @Override public void onBindViewHolder(final MyViewHolder holder, final int position) { holder.tv.setText(mDatas.get(position)); holder.itemView.setTag(mDatas.get(position)); holder.tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(getOnclickRecycle()!=null){ getOnclickRecycle().Onclick(holder.tv,position+""); } } }); } @Override public int getItemCount() { return mDatas.size(); } static class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; public MyViewHolder(View view) { super(view); tv = (TextView) view.findViewById(R.id.id_num); } }}
1 1
- RecycleView监听实现
- RecycleView item子控件回调监听的实现
- RecycleView 底部监听
- RecycleView的监听事件
- RecycleVIew点击监听
- RecycleView的相关监听
- RecycleView+CardView实现卡片式列表(附带Item回调监听)
- RecycleView实现左右滑动监听和上下拖拽调换顺序
- EditText+RecycleView实现搜索功能之一:对EditText内容变化实时监听
- 学习笔记之——RecycleView替换优化HorizontalScrollView嵌套HorizontalListView实现手势监听、按钮监听滑动功能
- RecycleView 底部按钮实现
- RecycleView实现瀑布流
- RecycleView 动画实现
- RecycleView的简单实现
- RecycleView实现footer功能
- RecycleView的实现
- RecycleView实现多布局
- Recycleview实现瀑布流
- Chrome下强制http重定向到https的问题
- Character Data Types
- 数据结构资料中栈的两个应用
- SVN中trunk,branches,tags用法详解
- Java反射总结
- RecycleView监听实现
- C/C++程序编译步骤 如何生成可执行文件
- 点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件
- 异常
- 安全协议IPSec、SSL、SSH
- phpmyadmin安装记录
- inet_ntoa函数陷阱
- 简单的RPC实现
- javascript构造器属性