如何删除列表中的所有项目

本文关键字:项目 列表 何删除 删除 | 更新日期: 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 ();    
}