Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 了解片段和活动生命周期以及向后导航_Android_Android Fragments_Android Lifecycle_Android Navigation - Fatal编程技术网

Android 了解片段和活动生命周期以及向后导航

Android 了解片段和活动生命周期以及向后导航,android,android-fragments,android-lifecycle,android-navigation,Android,Android Fragments,Android Lifecycle,Android Navigation,我想了解一些奇怪的行为。我有一个ActivityA,它调用onCreate()中的一个方法,将FragmentA添加到R.id.fragment\u容器中。在FragmentA内部,我有一个按钮,通过使用ActivityA的片段管理器(getActivity().getSupportFragmentManager())并替换R.id.fragment_容器来连接FragmentB,我还将其添加到Backback中。我还有一个启动新活动的按钮B。 当我从ActivityB返回时,我得到:Activ

我想了解一些奇怪的行为。我有一个ActivityA,它调用onCreate()中的一个方法,将FragmentA添加到R.id.fragment\u容器中。在FragmentA内部,我有一个按钮,通过使用ActivityA的片段管理器(getActivity().getSupportFragmentManager())并替换R.id.fragment_容器来连接FragmentB,我还将其添加到Backback中。我还有一个启动新活动的按钮B。 当我从ActivityB返回时,我得到:ActivityA onResume(),FragmentA onResume()。但是当我从FragmentB返回时,我得到:FragmentB onCreateView(),FragmentB onActivityCreated(),然后是2 onResume()


所以我的问题是…为什么视图状态在新活动启动时保存,而不是在片段被替换和重新附着时保存。只恢复该状态看起来比重新创建视图并再次获取数据要好得多。这似乎与我预期的相反,所以我显然错过了一些片段状态保存/恢复步骤或其他什么。当ActivityB启动时,活动似乎只是暂停FragmentA(和ActivityA),并在按下back按钮时将其恢复,但当FragmentB连接时,FragmentA将完全销毁。我肯定有办法阻止这一切我只是想不出来。想法?

您的问题下方有四个标签android、android片段、android生命周期和android导航。将光标放在上面一段时间,会弹出一个黑框。单击“信息”选项卡,您将获得学习该主题的最佳链接以及书籍链接

希望这对你有帮助