RecylerView为item添加点击事件

RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解如何为RecyclerView的item添加点击事件。

1 原理:

为RecyclerView的每个子item设置setOnClickListener,然后在onClick中再调用一次对外封装的接口,将这个事件传递给外面的调用者。而“为RecyclerView的每个子item设置setOnClickListener”在Adapter中设置。

2步骤:

adapter中

自定义一个继承自RecyclerView.Adapter的MyAdapter。

1.在MyAdapter中定义如下接口,模拟ListView的OnItemClickListener:RecylerView为item添加点击事件

2 声明一个这个接口的变量

RecylerView为item添加点击事件

3 在onCreateViewHolder()中为每个item添加点击事件RecylerView为item添加点击事件

4 将点击事件转移给外面的调用者:

RecylerView为item添加点击事件

注意上面调用接口的onItemClick()中的v.getTag()方法,这需要在onBindViewHolder()方法中设置和item的position

RecylerView为item添加点击事件

5 最后暴露给外面的调用者,定义一个设置Listener的方法():RecylerView为item添加点击事件

以上所有步骤都发生在自定义的adapter中,典型的观察者模式,有点绕的地方在于,这里涉及到两个观察者模式的使用,view的setOnClickListener本来就是观察者模式,我们将这个观察者模式的事件监听传递给了我们自己的观察者模式。

在Activity中使用

RecylerView为item添加点击事件

上一篇:SQLServer中的死锁的介绍


下一篇:Android中Selector的用法(改变ListView和Button的默认背景)