我的光标是从sqlite中获取数据。用光标和SimpleCursorAdapter更新列表视图
msgsdbadapter = new MSGSDBAdapter(this);
msgsdbadapter.open();
cons_cursor = msgsdbadapter.fetchConversations();
startManagingCursor(cons_cursor);
之后,我创建一个SimpleCursorAdapter并将其分配给ListView。 ListView现在可以很好地显示一些记录。
String[] from = new String[] { MSGSDBAdapter.KEY_FROM, MSGSDBAdapter.KEY_MSG, MSGSDBAdapter.KEY_DATE};
int[] to = new int[] { R.id.lblFrom, R.id.lblMsgExcerpt, R.id.lblDate };
cons_cursor_adapter = new SimpleCursorAdapter(context, R.layout.conversation_item, cons_cursor, from, to);
lvConversations.setAdapter(cons_cursor_adapter);
接下来,我插入新行插入到表中,并通知数据集变化,但ListView控件不更新
msgsdbadapter.createMsg(msg);
cons_cursor_adapter.notifyDataSetChanged();
当我应该关闭数据库连接?
没有必要的onDestroy – user999717
我觉得你需要更新u必须传递给适配器光标前关闭它。 – Vivek
如何更新光标?我可以创建新的光标并将其重新分配给适配器。但那样看起来很糟糕? – complez