我有两个 Activity :一个 NoteListActivity
继承自 ListActivity
,我使用 SimpleCursorAdapter
作为它的适配器,其中光标如下获取:
public Cursor getAllNotesCursor() {
String selectQuery = "SELECT _id , title, content FROM " + NOTE_TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
return cursor;
}
另一个 Activity NoteEditorActivity
负责创建新笔记,那里有一个 save
操作,点击后我将在 SQLite 数据库中添加一个新笔记,然后调用 finish
到 NoteListActivity
。
问题是 NoteListActivity
没有更新新笔记,你知道实现这个的最佳实践吗?
我能想到的一个解决方案是通过调用 startActivityForResults
启动 NoteEditorActivity
,然后在 onActivityResult
中调用游标 requery
,不知道有没有更好的解决办法?
最佳答案
startActivityForResults 很好,但为什么不尝试使用 yourAdapter.notifyDataChange() 覆盖 onResume() 方法
@Override
public void onResume() {
...
yourAdapter.notifyDataSetChanged();
}
当然,您必须在您的字段类中添加您的适配器。
关于android - 如何在子 Activity 返回时更新父 Activity 的 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18930736/