1
的問題Xamarin.Forms ListView控件加載更多
我想實現你能基本上在這裏看到
什麼,所以當用戶滾動到最後,我要加載更多,因爲我的列表非常龐大,我想要最大化性能。
我試圖做到這一點如下,與數據分割的主要收藏,這樣我可以設置的ItemSource新當用戶到達終點。
香港專業教育學院迄今
public class ViewModel : BaseViewModel {
public ViewModel() {
Initialize();
}
public List<List<Usermodel>> SplitedUserLists { get; set; }
//Main List that im Binding to
public List<Usermodel> ItemSourceCollection { get; set; }
public int ChunkSize { get; set; }
#endregion
private async void Initialize() {
ItemSourceCollection = await LoadList();
// Splites the list (in this case the chunk Size is 5)
SplitedScoreLists = ItemSourceCollection.Split(GetChunkSize()));
ItemSourceCollection = SplitedScoreLists[0];
}
//Gets called from CodeBehind
public void ListViewItemAppearing(ItemVisibilityEventArgs e) {
//Bottom Hit!
if (e.Item == ItemSourceCollection[ItemSourceCollection.Count - 1]) {
if (ChunkSize >= SplitedScoreLists.Count) {
return;
}
foreach (var usermodel in SplitedScoreLists[ChunkSize].ToList()) {
ItemSourceCollection.Add(usermodel);
}
if (ChunkSize < SplitedScoreLists.Count) {
ChunkSize++;
}
}
}
}
問題執行哪些
我的執行的問題是,該名單實際上長於原始列表伯爵由於重複。
這樣就可以達到這樣的事情的正確方法?
上午我實際增加有此表現?我需要導致列表是1000+條目。
我會懷疑這是否會提高性能,除非加載每個數據塊相當昂貴。相反,我會一次加載它,並使用搜索框和跳轉列表來允許用戶瀏覽列表。 – Jason
我一次加載它們,只是試圖不要一次顯示它們。也許用戶並不需要他們全部。 –
作爲一個用戶,我會發現,真的很煩人 – Jason