0

我有如下设置

Activity 1 使用 ListView 和 ListAdapters 显示类型 A 对象列表中的信息(通过在第一次调用时从数据库中检索)。

在 Activity 1 中单击 ListView 中的项目时,控件转到 Activity 2,它再次使用 ListView 和 ListAdapters 显示来自类型 B 对象列表的信息。

Activity 2 中有一个“+”按钮,点击该按钮可将控件切换到 Activity 3。在这里,我可以创建 B 类型的对象并将其保存到数据库中。现在我使用setResult()Activity 3 和onActivityResult()Activity 2 来更新 Activity 2 中的列表。

到目前为止,一切都很好。我可以看到我刚刚在活动 2 中创建的 B 类项目。

现在,如果我按下后退按钮并返回活动 1,然后点击 A 类型的同一项目,那么当我转到活动 2 时,我刚刚创建的项目不会显示。但是,当我关闭应用程序并再次打开它并遵循相同的路径时,我可以看到该项目。(因为列表是从数据库中重新加载的)

那么如何更新 Activity 1 中的列表呢?

我希望我正确解释了我的问题(如果没有,请道歉!)。我不想把所有的代码都放在这里,因为代码没有问题,除非我的方法是错误的。

4

1 回答 1

1

将您从数据库加载列表的代码放入Activity.onResume()方法中。这样,每次您的活动从不可见状态恢复时,它都应该执行(查看有关活动生命周期的文档以获取更多信息)。

此外,您可能希望使用Loader. 它监视数据源的更新,从而使数据保持最新。

于 2013-07-28T05:36:37.240 回答