diff --git a/src/Controls/src/Core/Handlers/Items/Android/MauiCarouselRecyclerView.cs b/src/Controls/src/Core/Handlers/Items/Android/MauiCarouselRecyclerView.cs index 6cf8f41d9894..9239d5302eab 100644 --- a/src/Controls/src/Core/Handlers/Items/Android/MauiCarouselRecyclerView.cs +++ b/src/Controls/src/Core/Handlers/Items/Android/MauiCarouselRecyclerView.cs @@ -320,7 +320,13 @@ void UpdateInitialPosition() Carousel.Position = position; } else + { position = Carousel.Position; + if (Carousel.Loop && position == 0) + { + itemCount = ItemsViewAdapter.ItemsSource.Count; + } + } _oldPosition = position; diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/CarouselViewShouldScrollToRightPosition.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/CarouselViewShouldScrollToRightPosition.png new file mode 100644 index 000000000000..abcdf78d51d4 Binary files /dev/null and b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/CarouselViewShouldScrollToRightPosition.png differ diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue17283.xaml b/src/Controls/tests/TestCases.HostApp/Issues/Issue17283.xaml new file mode 100644 index 000000000000..a0adb5ddcbb2 --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue17283.xaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + +