我正在尝试在CursorAdapter中的bindView中通过Cursor获取id。 我写道:
public void bindView(View v,Context context2,Cursor cursor) {
super.bindView(v, context, cursor);
long id3= cursor.getLong(cursor.getColumnIndex("_id"));
. . . .
}
然后我打电话给deleteOne:
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mySQLiteAdapter.deleteOne(id3);
}
});
方法:
public boolean deleteOne(long id) {
return sqLiteDatabase.delete(TABLE_NAME, "_id=" + id, null) > 0;
}
我没有得到任何错误,但总是当我点击任意行中的删除时,最后一行(记录,视图)被删除了。
谢谢你,对我的语法感到抱歉。
答案 0 :(得分:0)
在哪里设置id3?在视图的标签?因为我不知道你可以在哪里获得 id3 。如果你不把它放在 view.setTag()然后在onClick retreivin那么那就是问题 - 你将永远有最后 id3这就是为什么你删除最后一行。 另外,我在onClick ...
上看不到任何notifyDatasetChange()