From 905fac069f27958a332ce1c72151314fdc1e47f8 Mon Sep 17 00:00:00 2001 From: kamu Date: Sat, 6 Oct 2018 21:25:30 +0900 Subject: [PATCH] Change namespace for Android Resources / iOS some bug fixes --- .../CollectionView.Droid.csproj | 2 +- .../CollectionViewRenderer.cs | 1 + CollectionView.iOS/CollectionView.iOS.csproj | 7 +--- CollectionView.iOS/CollectionViewRenderer.cs | 12 +++++++ CollectionView/CollectionView.csproj | 1 + .../ViewModels/DefaultValueTestViewModel.cs | 34 ++++++++++++++++--- nuget/CollectionView_mac.nuspec | 6 ++-- 7 files changed, 49 insertions(+), 14 deletions(-) diff --git a/CollectionView.Droid/CollectionView.Droid.csproj b/CollectionView.Droid/CollectionView.Droid.csproj index 283fac6..0b5a0c5 100644 --- a/CollectionView.Droid/CollectionView.Droid.csproj +++ b/CollectionView.Droid/CollectionView.Droid.csproj @@ -7,7 +7,7 @@ {32BC5FF4-81FB-46DD-98ED-3D33C5318933} {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Library - AiForms.Renderers.Droid + CollectionView.Droid CollectionView.Droid v9.0 Resources\Resource.designer.cs diff --git a/CollectionView.Droid/CollectionViewRenderer.cs b/CollectionView.Droid/CollectionViewRenderer.cs index 1c07b7e..3cf5e3e 100644 --- a/CollectionView.Droid/CollectionViewRenderer.cs +++ b/CollectionView.Droid/CollectionViewRenderer.cs @@ -1,6 +1,7 @@ using System; using Android.Content; using Android.Support.V7.Widget; +using AiForms.Renderers; using Xamarin.Forms; using Xamarin.Forms.Platform.Android; using AView = Android.Views.View; diff --git a/CollectionView.iOS/CollectionView.iOS.csproj b/CollectionView.iOS/CollectionView.iOS.csproj index 490a77d..e972443 100644 --- a/CollectionView.iOS/CollectionView.iOS.csproj +++ b/CollectionView.iOS/CollectionView.iOS.csproj @@ -9,6 +9,7 @@ AiForms.Renderers.iOS CollectionView.iOS Resources + 1.1.2 true @@ -79,12 +80,6 @@ - - - {6E8E8AAC-E482-4E9C-9759-27B03E4DC309} - CollectionView - - diff --git a/CollectionView.iOS/CollectionViewRenderer.cs b/CollectionView.iOS/CollectionViewRenderer.cs index 71288f5..bae2a17 100644 --- a/CollectionView.iOS/CollectionViewRenderer.cs +++ b/CollectionView.iOS/CollectionViewRenderer.cs @@ -8,6 +8,7 @@ using Xamarin.Forms; using Xamarin.Forms.Internals; using Xamarin.Forms.Platform.iOS; +using System.Linq; namespace AiForms.Renderers.iOS { @@ -231,15 +232,26 @@ protected virtual void UpdateItems(NotifyCollectionChangedEventArgs e, int secti { var exArgs = e as NotifyCollectionChangedEventArgsEx; if (exArgs != null) + { DataSource.Counts[section] = exArgs.Count; + } // This means the UITableView hasn't rendered any cells yet // so there's no need to synchronize the rows on the UITableView if (Control.IndexPathsForVisibleItems == null && e.Action != NotifyCollectionChangedAction.Reset) + { return; + } var groupReset = (resetWhenGrouped && Element.IsGroupingEnabled) || forceReset; + // HACK: When an item is added for the first time, UICollectionView is sometimes crashed for some reason. + // So, in that case, ReloadData is called. + if (!Control.IndexPathsForVisibleItems.Any()) + { + groupReset = true; + } + // We can't do this check on grouped lists because the index doesn't match the number of rows in a section. // Likewise, we can't do this check on lists using RecycleElement because the number of rows in a section will remain constant because they are reused. if (!groupReset && Element.CachingStrategy == ListViewCachingStrategy.RetainElement) diff --git a/CollectionView/CollectionView.csproj b/CollectionView/CollectionView.csproj index 100e541..f88331d 100644 --- a/CollectionView/CollectionView.csproj +++ b/CollectionView/CollectionView.csproj @@ -3,6 +3,7 @@ netstandard2.0 AiForms.Renderers + 1.1.2 diff --git a/Sample/Sample/ViewModels/DefaultValueTestViewModel.cs b/Sample/Sample/ViewModels/DefaultValueTestViewModel.cs index 858c1a1..77836bb 100644 --- a/Sample/Sample/ViewModels/DefaultValueTestViewModel.cs +++ b/Sample/Sample/ViewModels/DefaultValueTestViewModel.cs @@ -1,15 +1,19 @@ using System; using System.Collections.Generic; +using Prism.Mvvm; +using Prism.Navigation; +using Reactive.Bindings; +using System.Threading.Tasks; + namespace Sample.ViewModels { - public class DefaultValueTestViewModel + public class DefaultValueTestViewModel:BindableBase,INavigatedAware { - public PhotoGroup ItemsSource { get; set; } + public ReactiveCollection ItemsSource { get; set; } = new ReactiveCollection(); public DefaultValueTestViewModel() { - InitializeProperties(); } void InitializeProperties() @@ -27,7 +31,29 @@ void InitializeProperties() } - ItemsSource = new PhotoGroup(list); + ItemsSource.AddRangeOnScheduler(list); + } + + public void OnNavigatingTo(NavigationParameters parameters) + { + } + + public void OnNavigatedFrom(NavigationParameters parameters) + { + } + + public async void OnNavigatedTo(NavigationParameters parameters) + { + await Load(); + } + + internal async Task Load() + { + try + { + InitializeProperties(); + } + finally {; } } } } diff --git a/nuget/CollectionView_mac.nuspec b/nuget/CollectionView_mac.nuspec index b84ec29..5bf375b 100644 --- a/nuget/CollectionView_mac.nuspec +++ b/nuget/CollectionView_mac.nuspec @@ -2,7 +2,7 @@ AiForms.CollectionView - 0.1.0-pre1 + 0.1.0-pre3 CollectionView for Xamarin.Forms kamu kamu @@ -14,9 +14,9 @@ This has two layouts (GridCollectionView, HorizontalCollectonView). HorizontalCo -First Release. +Some bug fixes - Xamarin.Forms ListView CollectionView Grid Infinite Circular Scroll UICollectionView RecyclerView FlowLayout WrapLayout + Xamarin.Forms ListView CollectionView Grid Infinite Circular Scroll UICollectionView RecyclerView FlowLayout WrapLayout HorizontalListView en-US