一、概述

二、常见问题:

1、如何为RecyclerView的Item设置点击事件?

1.1 问题描述

类似于下列方法

1
RecyclerView.setOnItemClickListener(OnClickListener)

1.2 解决措施:

a、在相应的ViewHolder中添加getItemView()

1
2
3
4
5
6
7
8
9
View itemView; //添加成员变量
public MyViewHolder(View itemView) {
super(itemView);
this.itemView = itemView //绑定成员方法
...
}
public View getItemView() { //外部获得View的方法
return itemView;
}

b、在Adapter的onBindViewHolder()方法(数据与ViewHolder建立绑定的方法里)添加监听事件

1
2
3
4
5
6
7
8
9
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
holder.getItemView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//此方法中的position、v相对应,可执行相应的针对Item的操作
}
});
}

2、RecyclerView的Adapter根据position如何获得对应的ItemView?

1.1 问题描述

1
2
类似于下列方法
RecyclerViewAdapter.getItemView(int position)

1.2 解决措施: