【发布时间】: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
请给我建议。
【问题讨论】:
-
只需在此链接中查看已接受的答案:stackoverflow.com/questions/9016739/…它将帮助您解决问题
标签: android