Changing a property on an item that is involved with grouping and sorting and then removing and re-adding the item to the collection results in the list being in an invalid state (e.g. duplicate items, incorrect template, etc.)
Error message can be reproduced on iPhone 11 Simulator iOS 13.6
[UICollectionView] Invalid update: invalid number of items in section 0. The number of items contained in an existing section after the update (4) must be equal to the number of items contained in that section before the update (4), plus or minus the number of items inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of items moved into or out of that section (0 moved in, 0 moved out). - will perform reloadData. UICollectionView instance: <TKCollectionView: 0x7f8525b86600; baseClass = UICollectionView; frame = (0 0; 414 725); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x600001232bb0>; layer = <CALayer: 0x6000019b0520>; contentOffset: {0, 0}; contentSize: {414, 453}; adjustedContentInset: {0, 0, 0, 0}; layout: <TKListViewLinearLayout: 0x7f8524f5e400>; dataSource: <Telerik_XamarinForms_DataControlsRenderer_iOS_TKExtendedListView: 0x7f8524f5b590; frame = (0 0; 414 725); layer =
<CALayer: 0x6000019b03a0>>>; currentUpdate: [UICollectionViewUpdate - 0x7f8526897fc0: old:<UICollectionViewData: 0x6000025f4000> new<UICollectionViewData: 0x6000025f47e0> items:<(
"I(0,3)"
)>]
When an item in the ItemsSource of a ListView is null, a NullReferenceException will be raised on Android when the items source is loaded to the list view. Even if a DataTemplateSelector is applied to display a different datatemplate for null items, the app would still crash.
I attached a sample program that demonstrates the issue. On iOS the app runs fine, but on Android the app crash at launch with a NullReferenceException.
Thanks,
Kori
Activating the ItemHold event of an item in a list view requires holding down an item for a while. On a physical/virtual Android device and a virtual iOS device, this can be done by holding down the mouse/finger lightly on an item for a short period of time. However, on a physical iOS device (I am using a physical iPhone 6s to test this), holding down the item lightly with my finger won't activate the ItemHold event, and I have to hold the item really hard on the screen in order to activate it (similar to using 3D Touch / Force Touch, and I cannot reliably activate the ItemHold event possibly because my force is sometimes not hard enough). I noticed this behaviour on the physical iOS device since the ItemHold event got implemented in early 2018.
I created a simple application to demonstrate the issue. The app displays an alert when the user taps/holds an item in the list view. On a physical iOS device, holding down an item in the list view requires the user to press the item very hard on the screen.
Thanks,
Kori
Hello,
I receive often a NullReferenceException in ListViewGroupHeader ArrangeOverride method.
The error happens only in UWP.
Unfortunately, I cannot create a project to reproduce the error.
Best regards,
when a new ObservableCollection is assigned to the listview's ItemsSource during load on demand, there is an inconsistency in the scrolling.
- On Android the listview is scrolled to the top immediately and showing items at the top of the listview.
-On iOS and UWP, the listview position is not changed.
ListViewLoadOnDemandCollection method is not triggering in iOS automatically when there is a need to display the items on the screen. We have to manually scroll the list view then the ListViewLoadOnDemandCollection triggers and give further data to show.
Things are working fine on Android platform.
The LoadOnDemandItemTemplate's HorizontalOptions setting is ignored on Android, it will always be left aligned. See this screenshot for comparison of 3 target platforms side-by-side: https://www.screencast.com/t/K5oWBcP0dLQM The DataTemplate is as follows: <telerikDataControls:RadListView.LoadOnDemandItemTemplate> <DataTemplate> <Grid BackgroundColor="Red" HorizontalOptions="End"> <Label FontSize="24" HorizontalOptions="End" Text="Load more items" TextColor="Black" /> </Grid> </DataTemplate> </telerikDataControls:RadListView.LoadOnDemandItemTemplate>
As soon the user tries to swipe more than one list item at the same time on iOS, the swiping functionality is not properly handled/