0
我有點卡在這裏。我有一個顯示列表視圖的片段。我想加載組成該列表視圖異步的項目。我這樣做:xamarin列表視圖沒有填充
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// do other stuff here
Task.Run(async() =>
{
_items = await GetItems();
_listView.Adapter = new FooAdapter(Activity, _items);
});
return view;
}
但即使項目正在填充列表視圖永遠不會在ui中更新。當我用SwipeRefreshLayout
做同樣的事情時,它可以正常工作。
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
_refresher = view.FindViewById<SwipeRefreshLayout>(Resource.Id.refresher);
_refresher.Refresh += async delegate {
_items = await GetItems(true);
_refresher.Refreshing = false;
_listView.Adapter = new RecipeListAdapter(Activity, _items);
};
};
所以最初的觀點是空的,但是當我拉下來,然後刷新視圖工程和列表中填充,我的列表視圖中顯示出來。我無法弄清楚爲什麼第一種方式不起作用。
僅供參考我GetItems看起來是這樣的:
private async Task<List<Summary>> GetItems(bool clear = false)
{
if (clear)
{
_items.Clear();
}
return await _service.GetItems(Token);
}
哦,當然。好吧,現在修好了。謝啦。 –