2016-06-28 16 views
0

Ich möchte den Namen und das Logo in der Listenansicht anzeigen, es scheint jedoch kein Ergebnis angezeigt zu werden. Gibt es eine Möglichkeit, dass ich diesen Fehler weitergeben und meine Ergebnisse anzeigen kann? Es gibt eine Fehlermeldung, wenn ich versuche, das Problem in setClubs() zu debuggen.xamarin.forms Anzeige in der Listenansicht

<ListView x:Name="Clublistviews"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell> 
        <StackLayout BackgroundColor="White" 
        Orientation="Vertical"> 
         <StackLayout Orientation="Horizontal"> 
          <Image Source="{Binding Logo}" IsVisible="true" WidthRequest="42" HeightRequest="42"/> 
          <Button Text="{Binding Name}" x:Name="BtnClub" AbsoluteLayout.LayoutBounds="100, 25, 100, 25" Clicked="OnListClubsClicked" TextColor="Black" VerticalOptions="FillAndExpand"/> 
         </StackLayout> 
        </StackLayout> 
       </ViewCell> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

Meine xaml.cs Codes sind

public ListClubs() 
    { 
     InitializeComponent(); 
     setClubs(); //The statement is not awaited and execution of current method continues before the call is complete. Consider using 'await' operator or calling 'Wait' method 
    } 

    public IEnumerable<CsClubList> ClubList 
    { 
     get { return _ClubList; } 
     set { _ClubList = value; } 
    } 

    private async Task setClubs() 
    { 
     ClubApiClient service = new ClubApiClient(); 
     var clublist = await service.getClubList(); 
     Clublistviews.ItemsSource = clublist.ToList(); 
    } 

Antwort

1

Vermeiden Asynchron-Methode in Ihrem Konstruktor.

In Ihrer page.cs (wo Sie Clublistviews hinzugefügt haben) überschreiben Sie OnAppearing und call atwaitClublistviews.setClubs().

protected override async void OnAppearing() 
{ 
    await Clublistviews.setClubs(); 
} 
Verwandte Themen