Android:由于主键,可以删除Listview中的项目

时间:2015-02-25 16:14:08

标签: android android-sqlite

单击按钮时,我正在尝试删除列表视图中的项目。我不能这样做,因为所有项目的主键都是相同的(零)。主键是_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);

你能帮帮我吗?

0 个答案:

没有答案