如何在RecyclerView Header Decor中设置监听器?

Jau*_*rer 1 android header android-viewholder android-recyclerview

我使用这个库在RecyclerView中实现了粘性标题

我想在自定义标题内添加一个可点击的视图,但是当我在中设置监听器时

public void onBindHeaderViewHolder(HeaderHolder viewholderHeader, int position)
Run Code Online (Sandbox Code Playgroud)

它忽略了我,点击后面的项目(recyclerview列表的背景选择器).

onBindHeaderViewHolder正在工作,因为我在那里有setText.我想知道一种方法,OnClickListener持续存在,视图接收它.(如果可能,不进行回收).

Dav*_*eas 6

编辑于2016年3月29日: Sticky Headers现在可以使用ViewHolder的相同监听器进行点击,而不再使用ItemDecoration.FrameLayout而是使用A.

答:我已经在header-decorsticky-headers-recyclerview上工作,我的结论是,ItemDecoration不应该是实现真正好的粘性标题的方法,因为我们所拥有的只是在顶部绘制的东西,是不是一个视图(!)所以我们不能在那个东西上附加任何听众,我们也无法与那个东西互动.

但是......在我的FlexibleAdapter项目中,我能够拦截粘贴标题上的点击,现在它已成为此功能的高级解决方案.

在这里看我的评论:

另一个非常重要的说明

我在顶部提到的2个项目大量使用循环for语句:它们在项目(with onDrawOver)的顶部多次绘制"装饰" ,当前显示的是所有标题.不仅如此,他们还将所有视图和对位置的引用放入缓存中,而无需回收(!)它们.

您可以想象每次列表滚动每个像素时内存增加了多少以及手机正在进行多少工作,电池耗尽巨大......嗯......我已经删除了所有这些内容StickyHeaderHelper.