在onResume问题上调用onCreate

时间:2014-01-18 11:06:32

标签: android android-listview oncreate onresume

我已经实现了自定义listview.Now用户从另一个活动刷新应用程序,导致数据库更新。所以,现在用户返回到具有自定义listview的活动。现在问题是列表视图未更新为了解决这个问题,我在我的活动中调用onresate oncreate,其中包含与之关联的自定义列表视图。 但这样做会导致listview中的项目自身复制(意味着它会增加项目数量并为每次刷新调用重复自身)。 请帮忙!

2 个答案:

答案 0 :(得分:4)

http://developer.android.com/training/basics/activity-lifecycle/starting.html

当活动开始时,onCreate(),onStart(),onResume()方法将按顺序逐个调用,如果在onResume()中调用onCreate(),则表示您将填充列表两次。 / p>

你可以创建一个像fillList()这样的方法并仅在onResume()状态下调用它,这样,每当你的活动恢复或创建时,都会调用这个方法,但要确保这个操作不重。根据android,活动开始对用户onStart()可见,但在onResume()之后用户可以进行交互。

答案 1 :(得分:2)

作为对标题的回答,您绝不应在onCreate()中致电onResume(),因为仅凭onResume()方法无法做任何事情。

启动应用后,不仅会调用onCreate(),还会调用onResume()。因此,当应用程序启动或再次进入onResume()方法时,移动您必须调用的任何代码通常是最好的主意。

如果这个答案不够,我们需要有关您确切代码的更多信息。