2016-01-24 61 views
0

我在我的应用程序中添加了一个recycleView(MainActivity)。当我触摸一个项目时,一个活动(ItemActivity)被调用,获得关于该项目的一些信息+一个动作按钮。我有一个在onCreate(MainActivity)方法中填充recycleView的方法。Android Activity onCreate

我已经将它安装在两个手机上,一个是Android 5.1,另一个是Android 4.2。

在5.1上,我选择一个项目,使用操作按钮执行操作并使用“返回按钮”返回到列表(mainAcitivity)。 onCreate方法被调用,因此recycleView被更新。

在4.2上,我做了同样的事情,但是当我回去时onCreate方法没有被调用。

也许我做错了什么?

底线吧,我需要在动作后重新加载recycleView。

+1

你可以张贴一些代码? – Msp

+0

不知道,我在家,代码在工作。 – Notheros

回答

0

重写Activity的onResume()方法,调用方法在onResume中加载recycleView。

+0

此外,它可能更正确地使用 adapter.notifyDataSetChanged(); 而不是整个初始化 – gilgil28

+0

我会尝试。 – Notheros

1

仅当创建活动或被销毁时才会调用onCreate。如果向后导航,活动仍然可以存在,并且您应该使用onStart来捕捉这一点。或onResume。

看看这里的活动周期:

http://developer.android.com/reference/android/app/Activity.html

+0

但Android 5和4之间的这种区别,为什么一个调用onCreate当我回去,另一个没有?我没有完成第一个活动,我打开第二个“高于”它。 – Notheros

+0

我第一个案例活动仍然存在于内存中(也许设备上有更多的内存),当你回来时就调用Resume。我的第二个案例活动被破坏了,当你回来时它被重新创建并且onCreate被调用。看看我给你的链接上的活动生命周期。 – alekz

+0

@Notheros它与'Android'操作系统版本无关。这是设备上的记忆问题。 – Onik