无法删除android中的已检查项目

时间:2012-02-09 10:08:27

标签: android

我有一个表名学生,其中一个是专栏。在我已经结婚或者没有结婚的地方,首先是所有学生,然后我尝试标记已婚学生,其中有25个中的5个,其中列出了就像这样

String[] fields = new String[] { "substr(name,1,23)",
            "substr(address,1,35)" };
    int[] views = new int[] { R.id.name, R.id.address, };
    cursor = SQDatabase
            .rawQuery(
                    "SELECT _id, substr(name,1,23),substr(address,1,35) FROM student WHERE ismarried=" + 1,
                    null);
    adapter = new SimpleCursorAdapter(this, R.layout.student_list_item,
            cursor, fields, views);
    jokesList.setAdapter(adapter);

注意:这里1是结婚值,其中0是未婚。所以只有5名学生展示。

现在,我的问题是,我检查了5中的3个,并希望从列表中删除该3个学生而不是数据库。如何获取已检查的项目ID,我不明白,

“我没有得到那个经过检查的项目ID,但这个被解雇了

//DBHelper.java
public void removeMarried(int i) {
    myDataBase = this.getWritableDatabase();
    String Query = "UPDATE student SET ismarried=0  WHERE _id = " + i;
    myDataBase.execSQL(Query);

}

并检查了侦听器

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (buttonView.isChecked()) {
        Log.d(TAG, "Checked item ");
    } else {
        Log.d(TAG, "UnChecked item ");
    }


}

最后在删除时点击

removeMarried(1);

完整代码:http://pastebin.com/Wc5XWvJG

请给我一些建议。

2 个答案:

答案 0 :(得分:1)

只需在此链接中查看已接受的答案:How to delete check box items from list

它将帮助您解决问题

答案 1 :(得分:0)

您还必须从适配器中删除所选项目,然后调用notifyDataSetChanged() 我似乎无法从方法removeMarries(int i)中找到代码?