我有一个数据库助手类,它从SQLite数据库中获取表的所有行。在我的主要活动的onCreate中,我正在调用该方法并使用该数据填充ListView。
我有一个单独的Activity,它从网络获取信息并将行插入数据库。完成后我调用finish()并返回主活动。
当它返回时,ListView中没有显示插入的行。从调试开始,它们似乎没有从数据库助手方法返回。
如果我关闭并重新启动应用,行会显示出来。如果我更改了屏幕方向,它们会显示出来。
这是我的数据库帮助方法:
public List<Object> getAllObjects() {
List<Object> objects = new ArrayList<Object>();
Cursor cursor = database.query(SQLiteHelper.TABLE_OBJECT,
allColumns, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Object object = cursorToObject(cursor);
objects.add(object);
cursor.moveToNext();
}
cursor.close();
return objects;
}
答案 0 :(得分:0)
您的主Activity
未是新创建的,您将返回旧实例。在您的情况下,请将更新代码放在主Activity
的{{3}}方法中,而不是onCreate
方法。
有关何时执行代码的详细信息,请参阅onResume
。