I implemented sticky headers in my RecyclerView, using this library
I want to add a clickable view inside the custom header, but when I set the listener in the
EDIT of 29/03/2016: Sticky Headers are now clickable using same listeners of the ViewHolder, not using anymore ItemDecoration
. A FrameLayout
is instead used.
Answer: I've worked on header-decor and on sticky-headers-recyclerview and my conclusion is that, ItemDecoration should not be the way to implement a real good sticky headers, because what we have is just something drawn on the top and is not a view(!) so we cannot attach any listener on that thing and we cannot interact with that thing.
But... I was able, in my FlexibleAdapter project, to intercept the tap on the sticky header, now it is become an advanced solution for this functionality.
See my comments here:
Another very important note:
The 2 projects, I mentioned on the top, make heavy use of cycle for
statement: they draw, as a "decoration" many times on the top of the items (with onDrawOver
), all the headers currently displayed. Not only, they put in a cache ALL the views and the reference to the positions without recycling(!) them.
You can imagine how much the memory increases and how much work the phone is making every time the list is scrolled of every pixel, with a huge battery consummation... Huh... I have removed all these things in the new StickyHeaderHelper
.