好吧我已经构建了一个类似于余数的应用程序,每件事情都运行正常但是当点击删除时,首先删除错误的行,然后现在甚至不工作。
我现在对这个问题有很多相同的答案,我发誓我会尝试每一个我找到的答案!
有些事情我不知道!
MainActivitey中的这段代码:
lvEvent.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
db.deleteEvent(id);
return true;
}
});
这是DataBase中的删除部分:
public boolean deleteEvent(long id){
return ((
db.delete(TB_EVENT, COLUMN.Id + "=" + id, null )
//db.delete(TB_EVENT, COLUMN.id + "=?", new String[] { String.valueOf(id)});
) == 1 ) ? true : false;
}
还有一个适配器来填充列表视图。
答案 0 :(得分:0)
您可能错误地将COLUMN.Id
传递给deleteEvent
方法。 long id
是在ListView行创建期间动态创建的项目的行ID(不是单击项目的位置)。
因此,您需要将position
传递给deleteEvent
方法:
db.deleteEvent(position);