主活动从未恢复,从详细活动返回时也不会恢复主要片段

时间:2016-12-03 14:56:56

标签: android android-fragments android-fragmentactivity android-lifecycle

我一直在试图找出为什么我的应用程序的Master Activity也有一个Master Fragment似乎无法恢复任何状态,也无法恢复活动。

我查看了Big Nerd Ranch书中的示例代码,繁忙编码器的Android开发指南,大量的Android文档,谷歌搜索等等。我甚至尝试使用Android工作室中的默认Master Detail Flow来确保我所看到的是真实的。

我已经为主片段尝试了一个静态和动态片段,我已经尝试了添加到后端堆栈等的变体。

使用Android Studio Master Detail流程模板,当我点击列表元素开始详细活动时,我可以看到:

D/ItemListActivity: onSaveInstanceState:

被调用。但是,当您从详细视图返回到主列表时,将构造ItemListActivity并调用onCreate,但savedInstanceState为null。永远不会调用onRestoreInstanceState。

D/ItemListActivity: ItemListActivity()
D/ItemListActivity: onCreate:  (savedInstanceState == null) = true

我看到与我自己的应用程序基本相同:

当我触摸列表元素时:

D/MainActivity: onSaveInstanceState
D/MainFragment: onSaveInstanceState

当我然后触摸返回返回主活动列表视图时,请参阅:

D/MainActivity: onDestroy: 
D/MainActivity: MainActivity() 
D/MainActivity: onCreate:  (savedInstanceState == null) = true
D/MainFragment: MainFragment()
D/MainFragment: onCreate: savedInstanceState = null
D/MainFragment: onCreateView: savedInstanceState = null
D/MainActivity: onResume: 

肯定的答案是不要将我的主要活动/片段状态存储在Dagger注入的单例中。

0 个答案:

没有答案