谁能告诉为什么,ListView 中的 Horizontal RecyclerView 在computeHorizontalScrollOffset()
滚动到结束时返回错误?
我holder.recyclerView.addOnScrollListener()
在我的 ListView 适配器中设置了一个 getView() ,如下所示:
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
float horizontalScrollOffSet = recyclerView.computeHorizontalScrollOffset();
int expectedPosition = Math.round((horizontalScrollOffSet + padding - firstItemWidth) / itemWidth);
Log.i("position", "horizontalScrollOffSet:"+horizontalScrollOffSet+",expectedPosition:"+expectedPosition);
}
}
当视图从左到右滚动时,偏移数字应该会增加,一切正常,除非它滚动到最后,它只是返回一个较小的数字。我真的不知道这一点,但我需要它来计算项目的中心点。任何人都可以请指导吗?:'(
根据我的尝试,当最后一个填充项大小设置为与主项大小相同时,RecyclerView 工作正常。