0

我有带有复选框的列表项,当用户选择任何复选框时,它应该启用菜单,如图像页脚处的图标。现在我的问题是,如果我想从列表中删除任何项目,如何通过单击屏幕底部的删除图标来删除该特定项目?

在此处输入图像描述

4

2 回答 2

1

您可以使用 listview.getCheckedItemPositions() 并删除选中的位置。下面是一个示例,我在我的一个应用程序中使用了它。

SparseBooleanArray selected = lvcontacts.getCheckedItemPositions();
            SQLiteDatabase db = dbh.getWritableDatabase();
            if (selected != null) {
                for (int i = 0; i < contacts.size(); i++) {
                    if (selected.get(i)) {
                        String s[] = { contacts.get(i).getName(),
                                contacts.get(i).getEmail(),
                                contacts.get(i).getNumber() };
                        db.delete("Contacts", "name=? and email=? and phone=?",
                                s);
                        Utils.printLog("Contacts while Delete", s[0] + "$"
                                + s[1] + "$" + s[2]);
                    }
                }
            } 
于 2012-12-21T12:24:45.893 回答
0

您可以使用它来删除列表中的已检查项目..

final int itemCount = getListView().getCount();
for (int i = 0; i < itemCount; i++) {
   if (checkedItemPositions.get(i)) {
       list.remove(i);
   } 
}
于 2012-12-21T12:30:34.807 回答