Skip to content

Commit ed3e3ef

Browse files
committed
Use long during multiplication to support very long lists.
1 parent d980fb2 commit ed3e3ef

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

library/src/main/java/me/zhanghai/android/fastscroll/FastScroller.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,8 +248,8 @@ private void onPreDraw() {
248248
private void updateScrollbarState() {
249249
int scrollOffsetRange = getScrollOffsetRange();
250250
mScrollbarEnabled = scrollOffsetRange > 0;
251-
mThumbOffset = mScrollbarEnabled ? getThumbOffsetRange() * mViewHelper.getScrollOffset()
252-
/ scrollOffsetRange : 0;
251+
mThumbOffset = mScrollbarEnabled ? (int) ((long) getThumbOffsetRange()
252+
* mViewHelper.getScrollOffset() / scrollOffsetRange) : 0;
253253
}
254254

255255
private void layoutView(@NonNull View view, int left, int top, int right, int bottom) {
@@ -367,7 +367,7 @@ private boolean isInTouchTarget(float position, int viewStart, int viewEnd, int
367367
private void scrollToThumbOffset(int thumbOffset) {
368368
int thumbOffsetRange = getThumbOffsetRange();
369369
thumbOffset = MathUtils.clamp(thumbOffset, 0, thumbOffsetRange);
370-
int scrollOffset = getScrollOffsetRange() * thumbOffset / thumbOffsetRange;
370+
int scrollOffset = (int) ((long) getScrollOffsetRange() * thumbOffset / thumbOffsetRange);
371371
mViewHelper.scrollTo(scrollOffset);
372372
}
373373

0 commit comments

Comments
 (0)