单击按钮时,我正在尝试删除列表视图中的项目。我不能这样做,因为所有项目的主键都是相同的(零)。主键是_id,它是一个自动增量值。 当我插入一个项时,id不会递增,当我尝试从数据库获取它时,它返回所有对象id = 0。我试图从对象中获取其他属性,它们也是正确的。 为什么它总是返回零?
我的代码:
(...)
.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int id) {
Des desp=list.get(position);
Log.d("DEBUG","category:"+desp.getCategory());
Log.d("DEBUG","Id:"+desp.getID());
databaseHelper.deleteDes(desp.getID());
notifyDataSetChanged();
dialogInterface.dismiss();
}
我的classe Des:
public class Des{
public Des()
{}
public int getID() {
return id_desp;
(...)
}
}
创建表格
private static final String CREATE_TABLE_EXAMPLE = "CREATE TABLE "
+ TABLE_EXAMPLE + "(_id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ col_CATEGORY + " TEXT,"
+ col_DATA_CRIACAO + " DATETIME,"
+ col_DATA_MODIF + " DATETIME,"
+ FOREIGN_KEY
+ ");";
要在表格中插入的部分方法:
(...)
ContentValues values = new ContentValues();
values.put(col_CATEGORY, des.getCategory());
values.put(col_DATA_CRIACAO, strDate);
values.put(col_DATA_MODIF, strDate);
long id =db.insert(TABLE_EXAMPLE, null ,values);
你能帮帮我吗?