package adapter;
import android.content.Context;
import android.provider.ContactsContract;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.example.jack_lin.procurementservice.R;
import java.util.ArrayList;
import Entity.GoodsEntity;
public class CollectRecycleAdapter extends RecyclerView.Adapter<CollectRecycleAdapter.myViewHodler> {
private Context context;
private ArrayList<GoodsEntity> goodsEntityList;
//创建构造函数
public CollectRecycleAdapter(Context context, ArrayList<GoodsEntity> goodsEntityList) {
//将传递过来的数据,赋值给本地变量
this.context = context;//上下文
this.goodsEntityList = goodsEntityList;//实体类数据ArrayList
}
/**
* 创建viewhodler,相当于listview中getview中的创建view和viewhodler
*
* @param parent
* @param viewType
* @return
*/
@Override
public myViewHodler onCreateViewHolder(ViewGroup parent, int viewType) {
//创建自定义布局
View itemView = View.inflate(context, R.layout.item_layout, null);
return new myViewHodler(itemView);
}
/**
* 绑定数据,数据与view绑定
*
* @param holder
* @param position
*/
@Override
public void onBindViewHolder(myViewHodler holder, int position) {
//根据点击位置绑定数据
GoodsEntity data = goodsEntityList.get(position);
// holder.mItemGoodsImg;
holder.mItemGoodsName.setText(data.goodsName);//获取实体类中的name字段并设置
holder.mItemGoodsPrice.setText(data.goodsPrice);//获取实体类中的price字段并设置
}
/**
* 得到总条数
*
* @return
*/
@Override
public int getItemCount() {
return goodsEntityList.size();
}
//自定义viewhodler
class myViewHodler extends RecyclerView.ViewHolder {
private ImageView mItemGoodsImg;
private TextView mItemGoodsName;
private TextView mItemGoodsPrice;
public myViewHodler(View itemView) {
super(itemView);
mItemGoodsImg = (ImageView) itemView.findViewById(R.id.item_goods_img);
mItemGoodsName = (TextView) itemView.findViewById(R.id.item_goods_name);
mItemGoodsPrice = (TextView) itemView.findViewById(R.id.item_goods_price);
//点击事件放在adapter中使用,也可以写个接口在activity中调用
//方法一:在adapter中设置点击事件
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//可以选择直接在本位置直接写业务处理
//Toast.makeText(context,"点击了xxx",Toast.LENGTH_SHORT).show();
//此处回传点击监听事件
if(onItemClickListener!=null){
onItemClickListener.OnItemClick(v, goodsEntityList.get(getLayoutPosition()));
}
}
});
}
}
/**
* 设置item的监听事件的接口
*/
public interface OnItemClickListener {
/**
* 接口中的点击每一项的实现方法,参数自己定义
*
* @param view 点击的item的视图
* @param data 点击的item的数据
*/
public void OnItemClick(View view, GoodsEntity data);
}
//需要外部访问,所以需要设置set方法,方便调用
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Fragment中RecyclerView的使用解析,以及监听事件处理
共4个文件
java:3个
xml:1个
5星 · 超过95%的资源 需积分: 42 63 下载量 91 浏览量
2018-09-01
13:14:21
上传
评论 2
收藏 4KB ZIP 举报
温馨提示
Fragment中RecyclerView的使用解析,以及监听事件处理,对应博客解释地址:https://blog.csdn.net/zhuchenglin830/article/details/82286109
资源推荐
资源详情
资源评论
收起资源包目录
Fragment中RecyclerView的使用解析,以及监听事件处理.zip (4个子文件)
CollectFragment.java 3KB
CollectRecycleAdapter.java 4KB
GoodsEntity.java 1KB
collect_page.xml 529B
共 4 条
- 1
资源评论
- yfvoyage2020-03-15简单实用,可以使用,谢谢
- 吴妈蛋2020-07-04资源少了一个布局文件
林一天
- 粉丝: 53
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PMP过程组:实践指南(英文版) PMP补充教材之一
- 基于机器学习的情绪分类N算法高分项目+源码SVM(word+punctuation+DUTIR).zip
- 基于机器学习的情绪分类NB+MLKNN算法高分项目+源码NB+KNN.zip
- 光伏MPPT仿真-模糊控制
- KCF项目运行的数据集
- java毕业设计-基于Springboot的停车场管理系统【代码+论文】
- 基于ssm学校访客登记系统.zip
- 基于监督学习的web入侵检测系统+高分项目+源码.zip
- 使用纯c实现xml的操作!
- MATLAB直线倒立摆一阶倒立摆LQR控制仿真,小车倒立摆起摆和平衡控制,附带参考文献 三种控制方法对比 pd控制、lqr控制、
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功