对不起,我已经尝试过查看其他一些答案,但我无法让我的特定实现工作。
我有ListView
填充了扩展SimpleCursorAdapter
。在onCreate()
方法中,我这样设置:
list = (ListView) findViewById(R.id.duty_history_list);
list.setOnItemClickListener(this);
list.setOnItemLongClickListener(this);
masterCursor = db.rawQuery("SELECT * FROM WorkLog", null);
list.setAdapter(new NotSoSimpleCursorAdapter(this,
R.layout.log_list_item,
masterCursor,
columns,
views,
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER));
长按项目时,将从数据库中删除相应的行。这是我尝试更新视图。使用此代码,没有任何反应,我不知道为什么。在更新数据库之后,在handleItemLongClick()
的最后调用IT。
public void refreshView() {
CursorAdapter cA = (CursorAdapter) list.getAdapter();
masterCursor = db.rawQuery("SELECT * FROM WorkLog", null);
cA.changeCursor(masterCursor);
}