computeHorizontalScrollOffset()
ListView 内の Horizontal RecyclerView が、最後までスクロールすると間違って返される理由を誰にも教えてもらえますか?
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 は正常に動作します。