Skip to content

Conversation

@BagavathiPerumal
Copy link
Contributor

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Root cause

The issue occurs because Android’s RecyclerView natively invokes OnScrolled(0, 0) during the initial layout to notify changes in visible item positions, even when no actual scrolling has occurred. The .NET MAUI CollectionView handler was treating this layout callback as a user scroll event, causing the Scrolled event to fire when the page loaded. This resulted in behavior that was inconsistent with iOS and violated the expectation that the Scrolled event should only be raised in response to actual user interaction.

Description of Issue Fix

The fix introduces a boolean flag (_isInitialLayout) to filter out the first OnScrolled() invocation when both deltas are zero, identifying it as the initial layout callback. This flag is reset when the adapter is updated to correctly handle subsequent layout cycles. As a result, the Scrolled event is now raised only for genuine scroll activity, ensuring consistent behavior across Android and iOS platforms.

Tested the behavior in the following platforms.

  • Windows
  • Mac
  • iOS
  • Android

Issues Fixed

Fixes #33333

Output

Before Issue Fix After Issue Fix
33333-BeforeFix.mov
33333-AfterFix.mov

…ent during the initial RecyclerView layout on Android.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-controls-collectionview CollectionView, CarouselView, IndicatorView community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration platform/android

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Android] CollectionView Scrolled event is triggered on the initial app load.

3 participants