为什么? 请
选择代码
private void selectData() {
String sql = "select ID, money, memo, date, type from " + _TABLENAME;
mCursor = mDbOpenHelper.mDB.rawQuery(sql, null);
mCursor.moveToFirst();
while (!mCursor.isAfterLast()) {
mi = new MyItem(
mCursor.getString(0),
mCursor.getString(3),
mCursor.getString(2),
mCursor.getString(1),
mCursor.getString(4));
arItem.add(mi);
mCursor.moveToNext();
}
mCursor.close();
}
删除按钮单击,删除代码
@Override
public void onClick(DialogInterface dialog, int which) {
/* problem */
final String sql = "delete from "+_TABLENAME+" where ID = "+ selectPosition;
}
});
答案 0 :(得分:2)
您的id
错了,您应该使用通过光标重新编写的ID,而不是位置。你可以试试这样的东西
String sql = "delete from "+_TABLENAME+" where ID = "+ mi.get(selectPosition).id;
此处mi.get(selectedPosition)
返回您在selectData
方法中添加的相应对象,.id
获取您通过构造函数传递给它的ID。您应该使用正确的变量名来实现此目的