2016-06-28 13 views
0

名前とロゴをリストビューに表示したいが、結果が表示されないようです。このエラーに合格して結果を表示できる方法はありますか? setClubs()で問題をデバッグしようとすると、エラーメッセージが表示されます。xamarin.formsがリストビューに表示されます

<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> 

マイxaml.csコード

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(); 
    } 

答えて

1

あなたのコンストラクタで非同期メソッドを使用しないでくださいです。

page.cs(Clublistviewsを追加した場所)でOnAppearingをオーバーライドし、Clublistviews.setClubs()を呼び出すように呼び出します。

protected override async void OnAppearing() 
{ 
    await Clublistviews.setClubs(); 
} 
関連する問題