在Xamarin.Forms中的ListView末尾加载更多项目

时间:2018-03-23 17:51:47

标签: c# xamarin xamarin.forms

我正在尝试在滚动时在列表视图的末尾添加更多项目,在进行我的研究时,我发现了这个链接https://montemagno.com/load-more-items-at-end-of-listview-in/,但当我尝试将其应用于我的代码时,我陷入困境。我只是想知道是否有人可以帮忙解决这个问题。提前谢谢你

2 个答案:

答案 0 :(得分:2)

在我的确切中,我也尝试使用James Montemagno提供的列表视图,但我也没有成功。

然后我离开了另一个带有无限滚动的列表视图,它一直在为我工作。

https://github.com/CarlosHSantos/XamarinMarvelApp

答案 1 :(得分:0)

我认为您的代码可能存在几个问题:

  1. 您希望listViewJson.ItemsSource是ObservableCollection而不是普通列表。 (我认为这是一个普通的List,从你的节目代码中看不出来)
  2. 您可能希望以下列方式实现ItemAppearing:

    ItemAppearing += async (sender, e) => if (isLoading || jokeDisplay.value.Count == 0) return; //hit bottom! if (e.Item.ToString() == Items[Items.Count - 1]) { await LoadItems(); } };

  3. 最后,在LoadItems()函数中,您需要用

    替换Items

    (listViewJson.ItemsSource as ObservableCollection<TypeOfTheItemHere>).Add(ItemToAddHere)

  4. 如果你的JokeList类中有一个包含ObservableCollection的属性会更容易,这样你就不必每次想要访问它时都要进行所有的转换。