我在NestedScrollView视图和recyclerview addOnScrollListener内的recyclerview无法正常工作,但我需要获取recyclerview当前可见项目的位置我的实验
我使用"layoutmanager.findLastVisibleItemPosition()"
此代码,但始终仅显示最后一个位置如果它在NestedScrollView中,是否有任何方法可以在recyclerview中启用[C0
此案例与addOnScrollListener
不同,请仔细阅读该帖子中提供的解决方案如果不在NestedScrollView中,则可以使用。
我在NestedScrollView视图和recyclerview addOnScrollListener内的recyclerview无法正常工作,但是我需要获取recyclerview当前可见的项目位置。我的实验是使用“ layoutmanager ....] >>
任何建议。
如果我做对了,您可能希望在滚动视图内添加线性布局,然后在线性布局中添加回收站。您的addOnScrollListener应该在那里工作。这里还有另一个选择。您可能需要检查rvDistanceLisitng.addOnScrollListener(object:RecyclerView.OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { super.onScrollStateChanged(recyclerView, newState) if (newState === RecyclerView.SCROLL_STATE_IDLE) { val position = gridLayoutManager!!.findFirstVisibleItemPosition() Log.d("position","=="+position) if(position>lists.size) { tvDistanceText.setText("Offer within "+lists.get(lists.size-1).countDistance+"km") } else { tvDistanceText.setText("Offer within "+lists.get(position).countDistance+"km") } } } }) }
答案-建议使用NestedScrollView切换滚动视图。
rvDistanceLisitng.addOnScrollListener(object:RecyclerView.OnScrollListener()
{
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int)
{
super.onScrollStateChanged(recyclerView, newState)
if (newState === RecyclerView.SCROLL_STATE_IDLE)
{
val position = gridLayoutManager!!.findFirstVisibleItemPosition()
Log.d("position","=="+position)
if(position>lists.size)
{
tvDistanceText.setText("Offer within "+lists.get(lists.size-1).countDistance+"km")
}
else
{
tvDistanceText.setText("Offer within "+lists.get(position).countDistance+"km")
}
}
}
})
}
答案-建议使用NestedScrollView切换滚动视图。