从列表中删除项目

时间:2012-12-21 12:22:34

标签: android sqlite

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

enter image description here

2 个答案:

答案 0 :(得分: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]);
                    }
                }
            } 

答案 1 :(得分:0)

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

final int itemCount = getListView().getCount();
for (int i = 0; i < itemCount; i++) {
   if (checkedItemPositions.get(i)) {
       list.remove(i);
   } 
}