私のデータベースは問題なく作成および入力されます。アクティビティのリストビューに行を表示するためのカスタム アダプターもあります。問題は、_id 列に実際には ID がないことです。listItemClick でダイアログボックスが表示され、データがテキストボックスに入れられます。下部にボタンがあります。ユーザーがそのレコードを削除できるように、「削除」ボタンを機能させようとしています。_id を呼び出しているレコードを削除しようとしていますが、データベースの ID 列はすべてのレコードで空です。ダイアログ ボックスに各項目の ID 番号が表示され、それらはすべて 0 として表示されます。sqlite データベース ブラウザでデータベースを開くと、すべてのレコードの id 列が完全に空になります。誰でも助けて、これがなぜなのか教えてもらえますか? これは私が使用したチュートリアルです: http://android-er.blogspot.co.uk/2011/06/edit-row-in-sqlite-database-using.html
いくつかのコード:
データベースとテーブルの作成:
public static final String KEY_ID = "_id";
public static final String KEY_LESSON = "Lesson";
public static final String KEY_DAY = "Day";
public static final String KEY_START = "Start";
public static final String KEY_END = "End";
public static final String KEY_LOCATION = "Location";
private SQLiteDatabase db;
private DBHelper dbHelper;
private final Context context;
private static final String DATABASE_CREATE = "create table Schedule" + " (" + KEY_ID + " INTERGER PRIMARY KEY,"
+ KEY_LESSON + " text not null, " + KEY_DAY + " text not null," + KEY_START + " text not null, " + KEY_END
public void deleteEntry(int id) {
db.delete(DATABASE_TABLE, KEY_ID + "=" +id, null);
}
ダイアログ:
myDialog.setPositiveButton("Delete", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
db.open();
db.deleteEntry(item_id);
}
});