【发布时间】:2017-02-10 17:25:20
【问题描述】:
我在 Visual Studio 2015 中有一个带有 ListView 的便携式项目,该项目通过 API 调用通过以下函数 refreshData 填充了一些数据:
async Task refreshData()
{
myListView.BeginRefresh();
var apiCallResult = await App.Api.myApiGetCall();
myListView.ItemsSource = apiCallResult;
myListView.EndRefresh();
}
refreshData() 被调用
protected override void OnAppearing()
{
base.OnAppearing();
refreshData();
}
一切正常,除了在 Android 上,当页面最初加载时,刷新指示器在 EndRefresh() 上没有停止或消失。该页面位于TabbedPage 中,因此我可以转到其他选项卡,然后返回此页面,刷新指示器会随着我的 API 调用正确启动和停止。
为什么页面最初在 Android 上加载时刷新没有停止?任何帮助将不胜感激。
注意:当我在 iOS 上运行时,这完全可以正常工作。
到目前为止我已经尝试过:
将
myListView.BeginRefresh()替换为myListView.IsRefreshing = true和myListView.EndRefresh()替换为myListView.IsRefreshing = false使用
Device.BeginInvokeOnMainThread(() => {//update list and endRefresh})。使用
async void refreshData()代替async Task refreshData()。
【问题讨论】:
-
尝试使用Device.BeginInvokeOnMainThread(//你的代码相关更新列表视图);
-
刚试过,没用。
-
尝试只使用 myListView.EndRefresh(); ..remove myListView.Isreferhing=false
-
我也试过了。没什么区别。
-
找到解决办法了吗
标签: c# android visual-studio-2015 xamarin.forms pull-to-refresh