public MvxExpandableItemAdapter(IMvxAndroidBindingContext androidBindingContext) { BindingContext = androidBindingContext; SetHasStableIds(true); _expandableGroupedItemsSourceProvider = new MvxGroupedItemsSourceProvider(); _expandableGroupedItemsSourceProvider.Source.CollectionChanged += SourceOnCollectionChanged; _expandableGroupedItemsSourceProvider.ChildItemsAdded += SourceItemChildChanged; _expandableGroupedItemsSourceProvider.ChildItemsRemoved += SourceItemChildChanged; _expandableGroupedItemsSourceProvider.ChildItemsCollectionCleared += (group) => base.NotifyDataSetChanged(); _expandableGroupedItemsSourceProvider.ItemsMovedOrReplaced += () => base.NotifyDataSetChanged(); GroupSwipeItemPinnedStateController = new SwipeItemPinnedStateControllerProvider() { UniqueIdProvider = new GroupMvxItemUniqueIdProvider(this) }; ChildSwipeItemPinnedStateController = new SwipeItemPinnedStateControllerProvider() { UniqueIdProvider = new GroupChildMvxItemUniqueIdProvider(this) }; }
public void SetupSlideAmount(MvxAdvancedRecyclerViewHolder holder, SwipeItemPinnedStateControllerProvider swipeItemPinnedStateController) { if (swipeItemPinnedStateController.ForLeftSwipe().IsPinned(holder.DataContext)) { holder.SwipeItemHorizontalSlideAmount = MaxLeftSwipeAmount; } else if (swipeItemPinnedStateController.ForRightSwipe().IsPinned(holder.DataContext)) { holder.SwipeItemHorizontalSlideAmount = MaxRightSwipeAmount; } if (swipeItemPinnedStateController.ForTopSwipe().IsPinned(holder.DataContext)) { holder.SwipeItemVerticalSlideAmount = MaxUpSwipeAmount; } else if (swipeItemPinnedStateController.ForBottomSwipe().IsPinned(holder.DataContext)) { holder.SwipeItemVerticalSlideAmount = MaxDownSwipeAmount; } }