今天在给Recycle添加监听。
需要监听两个,一个是监听RecycleView中的Item,还要监听每个Item中的button。
这应该是个挺常用的设计,但是竟然没有封装好的方法,所以百度了一下,还得自己来。
给Item里面的button添加监听很简单。
我们之前有说过在重写Adapter的时候我们有说过我们要在里面自己继承ViewHolder这个类,
类在创建的时候可以获得布局里面的所有空间,包括button所以这个空间的监听就像一般的使用一样。
那怎么知道我点击的是哪个Item的Button呢?很简单,使用 getPositon()这个方法就行。
接下来就是对ViewHolder设置监听,这个网上有一片文章,但是我觉得那里面的逻辑实在是太复杂。
我这种java渣要理解半天才能理解那么绕的逻辑,所以我花了一幅图来理解
总体上我们这个Listener是设立在各个ViewHolder之上的。
但是我们需要先从用来点击的activity之中获得监听器,因为我们点击的是activity之中的东西,然后把这个listener传递出来给Adapter,去识别到底点的是哪个Item
然后再实现我们在activity中重写过的方法。这时候的每个Item是相同的,所以动作也是相同的。
大家可以点击上面的链接去看一下大神的原文,我这只是稍微解释了一下。
最近比较赶项目,等有空了我想研究一下针对不同的item进行不同的方法。
因为recycleview是支持多种类型的ViewHolder的,对于不同的ViewHolder肯定是要使用不同的方法的,到时候再来写。