Skip to content

Commit fd1cbca

Browse files
author
farfromrefug
committed
fix(android): circularMode fix for scrollToIndexAnimated and getViewForItemAtIndex
1 parent d3e9470 commit fd1cbca

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/ui-pager/index.android.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -424,9 +424,10 @@ export class Pager extends PagerBase {
424424
}
425425
}
426426

427-
public scrollToIndexAnimated(index: number, animate: boolean, requestTransform = false) {
427+
public scrollToIndexAnimated(value: number, animate: boolean, requestTransform = false) {
428428
const nativeView = this.nativeViewProtected;
429429
if (nativeView) {
430+
const index = this.circularMode ? value + 1 : value;
430431
nativeView.setCurrentItem(this.pagerAdapter.getIndex(index), animate);
431432
if (!animate) {
432433
// without animate we wont go through the delegate
@@ -463,7 +464,7 @@ export class Pager extends PagerBase {
463464
}
464465

465466
getViewForItemAtIndex(index: number) {
466-
return this.getChildView(index);
467+
return this.getChildView(this.circularMode ? index + 1 : index);
467468
}
468469
onUnloaded() {
469470
// this._android.setAdapter(null);
@@ -718,12 +719,12 @@ function initPagerChangeCallback() {
718719
object: owner
719720
});
720721
owner.lastEvent = 1;
721-
else if ((owner.lastEvent === 2 || owner.lastEvent === 0) && state === 0) {
722+
} else if (owner.lastEvent === 1 && state === 1) {
722723
owner.notify({
723724
eventName: Pager.swipeOverEvent,
724725
object: owner
725726
});
726-
owner.lastEvent = 0;
727+
owner.lastEvent = 1;
727728
} else if (owner.lastEvent === 1 && state === 2) {
728729
owner.notify({
729730
eventName: Pager.swipeEndEvent,

0 commit comments

Comments
 (0)