【问题标题】:Unable to delete checked item in android无法在android中删除选中的项目
【发布时间】:2012-02-09 10:08:27
【问题描述】:

我有一个表名学生,其中已婚列之一。在我是否已经结婚的地方,首先填充所有学生,然后我尝试仅标记已婚学生,其中有 25 个中的 5 个,其中列出了 Just Like this

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

请给我建议。

【问题讨论】:

标签: android


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多