I am binding listview from web service, now some time listview take time to load depend on internet connection, i need activity indicator keep running until listview is load.
here is my code
xaml
<ListView x:Name="ReportListView" ItemsSource="{Binding ReportList}"
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="9" HorizontalOptions="StartAndExpand" Orientation="Vertical" BackgroundColor="Lavender">
<Label Text="{Binding ReportName}" FontSize="Medium" WidthRequest="10000" TextColor="Blue" Style="{DynamicResource ListItemTextStyle}" />
</StackLayout
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<ActivityIndicator HorizontalOptions="Center" VerticalOptions="Center" IsRunning="False" IsVisible="False" x:Name="activity"/>
i am working like this which is absolutely not correct
.cs
activity.IsVisible = true;
activity.IsRunning = true;
wait.IsVisible = true;
progressControl.IsVisible = true;
ReportListView.IsVisible = false;
Task.Delay(5000);
BindingContext = new MainViewModel();
activity.IsVisible = false;
activity.IsRunning = false;
wait.IsVisible = false;
progressControl.IsVisible = false;
ReportListView.IsVisible = true;
with this code activity indicator run for 5 sec and disappear and listview load depends on network connection.
How can i work where activity indicator keep running until listview load?
IsVisibleandIsRunningto something that gets set from the actual networking code instead of usingTask.Delay(5000)