//创建监听对象
private ItemOnClickListener mItemOnClickListener;
//创建设置监听的方法
public void setItemOnClickListener(ItemOnClickListener mItemOnClickListener) {
this.mItemOnClickListener = mItemOnClickListener;
}
//创建点击事件接口,将view和条目数i作为参数
public interface ItemOnClickListener {
public void onClick(View view, int i);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
//通过实例化类的对象,根据条目i获取指定的List中的数据,绑定到viewHolder中
messageUtils = messageUtilsList.get(i);
viewHolder.message.setText(messageUtils.getMessage());
//创建viewHolder的点击监听
//该监听触发的逻辑就是mItemOnClickListener.onClick(v,i)中的逻辑
//具体的逻辑实现在继承onClick的类中
viewHolder.message.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mItemOnClickListener!=null){
//调用监听器对象的点击方法
mItemOnClickListener.onClick(v,i);
}
}
});
}
在使用到该RecyclerView的类中需要执行的 *** 作:
//创建Adapter对象
MessageAdapter messageAdapter = new MessageAdapter(messageUtilsList, getContext());
//调用Adapter中设置监听的方法
messageAdapter.setItemOnClickListener(new MessageAdapter.ItemOnClickListener() {
@Override
public void onClick(View view, int i) {
//i 就是被点击的Item的条目数
//此处即可根据i来设置不同的Item的点击事件效果
}
});
转载请注明出处:https://blog.csdn.net/YJ21712/article/details/123847250
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)