1

谁能告诉为什么,ListView 中的 Horizo​​ntal 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);
    }

}

Log.i 数据: 在此处输入图像描述

当视图从左到右滚动时,偏移数字应该会增加,一切正常,除非它滚动到最后,它只是返回一个较小的数字。我真的不知道这一点,但我需要它来计算项目的中心点。任何人都可以请指导吗?:'(

根据我的尝试,当最后一个填充项大小设置为与主项大小相同时,RecyclerView 工作正常。

4

0 回答 0