添加了多个HeaderView、FooterView会影响性能吗?HeaderView、FooterView会复用吗?怎么定位某个HeaderView、FooterView?怎样监听是否滑到了某个HeaderView、FooterView、 item?
[CymChad/BaseRecyclerViewAdapterHelper]添加了多个HeaderView、FooterView疑问
回答
如果headerView或footerView有多个重复的话建议分类型多布局实现 header、footer都是添加到线性布局里,可以获取header、footer在headerLayout或footerLayout中的位置,LayoutManager有scrollToPositionWithOffset方法,可以设置偏移量
怎样获取header、footer在headerLayout或footerLayout中的位置啊? @ @1109993488 ?
` LinearLayout headerLayout = adapter.getHeaderLayout();//获取所有HeaderView的RootView int i = headerLayout.indexOfChild(aHeader);//获取aHeader在RootView的位置 linearLayoutManager.scrollToPositionWithOffset(i,0);//滚动到aHeader?无效,没有效果啊?
调用header或footer的getTop获取在父控件中的位置
scrollToPositionWithOffset第二个参数填入偏移量
能列举详细的代码吗?我试了还是不行啊?
LinearLayoutManager manager = (LinearLayoutManager) mRecyclerView.getLayoutManager();
View headerView = mAdapter.getHeaderLayout().getChildAt(3);
final int offset = -headerView.getTop();
manager.scrollToPositionWithOffset(0, offset);
@@感谢大神,多个头部,定位解决了,还想请教一下,如何在RecyclerView中监听当前屏幕滑动到了哪一个item? @1109993488
http://blog.csdn.net/kong_gu_you_lan/article/details/52023730 检测滑到最后一个item。 还有就是每次滑动,在convert里面都会加载对于的item数据,这也可以跟进position判断滑到那个item了。