0

我有一个数据库助手类,它从 SQLite 数据库中获取表的所有行。在我的 Main Activity 的 onCreate 中,我正在调用该方法并使用该数据填充 ListView。

我有一个单独的活动,它从网络获取信息并将行插入数据库。完成后我调用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;
}
4

1 回答 1

0

您的mainActivity不是新创建的,您返回到旧实例。在您的情况下,将更新代码放在您的 main 方法中,而不是方法中。onResumeActivityonCreate

有关何时执行代码的更多详细信息,请参阅Activity生命周期。

于 2013-08-24T17:34:44.317 回答