如何删除列表中的所有项目
本文关键字:项目 列表 何删除 删除 | 更新日期: 2023-09-27 18:27:51
如何使用下面的点击功能删除列表视图中的所有内容?现在,它只删除列表中的第一项,而不是每一项。这是我的代码:
async void OnButtonClickedRemoveEverything (object sender, EventArgs args)
{
theGuestListMembers ourItem = null; //theGuestListMembers is our Class.
foreach (theGuestListMembers c in ourEventList) { //oureventlist = this is Our List.
ourItem = c;
}
//。listID是一个公共字符串,用于从用户(objectID)获取个人"信息"。所以我想"ourItem.listID"是我们的问题,因为我只得到1个人的objectID,我想不是列表中的每个人?
if(ourItem != null)
{
parseAPI.deleteTheGuestList
(Application.Current.Properties ["sessionToken"].ToString (), ourItem.listID);
ourEventList.Remove (ourItem);
EmployeeList.ItemsSource = null; //name of our list
EmployeeList.ItemsSource = ourEventList;
}
Navigation.PopAsync ();
}
我获取信息的数据库。
var getItems = await parseAPI.getOurGuestList (Application.Current.Properties ["sessionToken"].ToString (), owner);
EmployeeList.ItemsSource = null;
ourEventList = new List<theGuestListMembers> ();
foreach (var currentItem in getItems["results"]) {
ourEventList.Add (new theGuestListMembers () {
listID = currentItem ["objectId"].ToString (),
theHeadName = currentItem ["YourName"].ToString ()
});
}
如果您只是想从列表中删除项目,可以使用ourEventList.Clear()
或ourEventList.RemoveAll(ourItem => ourItem != null)
如果你想做一些更花哨的事情,你可以使用这个功能:
private bool removeItem(theGuestListMember ourItem)
{
if (ourItem == null) return false;
parseAPI.deleteTheGuestList(ourItem);
return true;
}
并像这样使用:
async private void OnButtonClickedRemoveEverything(object sender, EventArgs e)
{
ourEventList.RemoveAll(ourItem => removeItem(ourItem);
EmployeeList.ItemsSource = ourEventList;
Navigation.PopAsync ();
}