я пытаюсь использовать CollectionView (горизонтальная ориентация), который получает данные как наблюдаемые из базы данных Firebase
, он отлично работает на ios, но когда я пытаюсь запустить приложение на android (попытался 2 на разных устройствах) приложение вылетает в 90% случаев (всегда вылетает при обновлении списка)
Я получаю это Eception: Снимок экрана исключения
Код Xaml:
<Frame Padding="0" x:Name="_roomMayLike" HorizontalOptions="CenterAndExpand" VerticalOptions="Start" BackgroundColor="White" HasShadow="False">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Text="Rooms we think you will like:" HorizontalOptions="Start" FontSize="14" FontAttributes="Bold"/>
<CollectionView ItemsSource="{Binding RoomList}" x:Name="_lstx" SelectionMode="Single" Grid.Row="1" >
<CollectionView.ItemsLayout>
<GridItemsLayout Orientation="Horizontal"/>
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Frame HeightRequest="30" WidthRequest="30" BackgroundColor="Green" HasShadow="true"/>
<StackLayout Grid.Row="1">
<Label Text="{Binding Name}" FontSize="12" HorizontalOptions="Center"/>
<Label Text="{Binding RoomManager, StringFormat='By:{0}' }" FontSize="12" HorizontalOptions="Center"/>
</StackLayout>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</Grid>
</Frame>
c# Код ViewModel:
public ScrolledViewModel()
{
EnterNamePopup();
RoomList = db.subRooms();
AddRoomHandleC = new Command(() => AddRoomFunction() );
}
c# Интерфейс FireBase:
public ObservableCollection<Room> subRooms()
{
return fbClient.Child("chatApp/Rooms")
.AsObservable<Room>()
.AsObservableCollection<Room>();
}