internal override void Reload(RecyclerViewObservableAdapterBase adapter)
        {
            var groupedAdapter = (RecyclerViewObservableGroupedAdapterBase)adapter;

            ItemsMap.Clear();
            ItemsMap.Add(ItemMap.CreateForHeader());

            var sectionsCount = groupedAdapter.GetSectionsCount();

            for (var section = 0; section < sectionsCount; section++)
            {
                ItemsMap.Add(ItemMap.CreateForSectionHeader(groupedAdapter.GetItemsGroup(section)?.Key));

                var sectionItemsCount = groupedAdapter.GetSectionItemsCount(section);

                for (var row = 0; row < sectionItemsCount; row++)
                {
                    ItemsMap.Add(ItemMap.CreateForItem(groupedAdapter.GetItem(section, row)));
                }

                ItemsMap.Add(ItemMap.CreateForSectionFooter(groupedAdapter.GetItemsGroup(section)?.Key));
            }

            ItemsMap.Add(ItemMap.CreateForFooter());

            groupedAdapter.NotifyDataSetChanged();
        }
Beispiel #2
0
 internal abstract void Reload([NotNull] RecyclerViewObservableAdapterBase adapter);