关于RecyclerView中item点击事件的快速实现
先明确为哪一个View绑定点击事件。
一般在RecyclerView中,adapter会继承RecyclerView.Adapter。继承之后,需要重写三个方法,分别是onBindViewHolder、onCreateViewHolder、getItemCount。我们研究一下onCreateViewHolder方法。发现他的返回结果是个ViewHolder,然而在创建ViewHolder的时候,一定需要填充View。一般我们通过inflate方法填充一个view
如下所示:
LayoutInflater mInflater = LayoutInflater.from(context);
//由于inflate方法有几个函数重载,所以这里args代表了参数列表,小伙伴在实现时
//请自己按需选择。
View view = mInflater.inflate(args);
onCreateViewHolder
//这里view转换成自己定义的viewholder
return YourViewHolder(view);
最后,在自己定义的viewholder中的构造函数中
private YourViewHolder(View itemView) {
//这里实现绑定点击事件的接口就好了
itemView.setOnClickListener(new View.OnClickListener(){
@Override
void onClick(View v) {
//这里写自己点击事件的逻辑就好了
}
});
}
总结
这里的代码块可能和实际代码存在偏差。但是总体的逻辑是这样的。当然,这是一个比较暴力的写法。也可以通过adapter来设置接口。但是要向上面绑定,还需要为adapter设置一个自定义的监听接口。有兴趣的小伙伴可以自行查找学习。我这里提供一个连接,比较容易学习的。
链接:adapter设置接口方法