【问题标题】:Android Activity onCreateAndroid Activity onCreate
【发布时间】:2016-01-24 21:36:17
【问题描述】:

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

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

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

在 4.2 上,我做同样的事情,但是当我返回时,onCreate 方法不会被调用。

也许我做错了什么?

最重要的是,我需要在动作后重新加载recycleView。

【问题讨论】:

  • 你能贴一些代码吗?
  • 不太清楚,我在家,代码在工作。

标签: android oncreate


【解决方案1】:

onCreate 仅在活动被创建或被销毁时被调用。如果您向后导航,活动仍然存在,您应该使用 onStart 来捕捉它。或 onResume。

在此处查看活动生命周期:

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

【讨论】:

  • 但是Android 5和Android 4之间的这种差异,为什么我回去时一个调用onCreate而另一个不调用?我没有完成第一个活动,我打开了第二个“上面”。
  • 我第一个案例活动仍然存在于内存中(也许设备上有更多内存),当你回来时 onResume 被调用。我第二种情况活动被破坏,当你回来时它被重新创建并调用 onCreate。查看我给你的链接上的活动生命周期。
  • @Notheros 与Android OS 版本无关。这是设备上的内存问题。
  • 我明白了。谢谢阿列克兹。
【解决方案2】:

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

【讨论】:

  • 另外,使用 adapter.notifyDataSetChanged(); 可能更正确而不是整个初始化
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多