RecyclerView粘性头部控件Github:timehop/sticky-headers-recyclerview
使用开源控件,当RecyclerView滚动到第一个Header不显示的位置时,点击Header区域回调的onHeaderClick的position错误,需要以下代码修正
headListener = new StickyRecyclerHeadersTouchListener.OnHeaderClickListener() { @Override public void onHeaderClick(View header, int position, long headerId) { ... LinearLayoutManager layoutManager = (LinearLayoutManager) mDataBinding.recyclerView.getLayoutManager(); int index = layoutManager.findFirstVisibleItemPosition(); LogUtils.d("index : " + index); LogUtils.d("position : " + position); int i; // 第一个隐藏,点击最上面的一个 if (position == 0 && index != 0) { i = index; } else if (index != position) { i = position; } else { i = index; } int i = getRealIndex(position); LogUtils.d("i : " + i); ... } };
i即为修正后的position
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229757.html原文链接:https://javaforall.net
