android如何在片段分离/附加中保留视图状态

cra*_*s84 2 tabs android state fragment

我有一个标签主机控件,使用片段加载标签.

每次切换选项卡时,它都会分离旧片段并附加新片段.

我注意到在此过程中调用了OnCreateView方法,并且由于每次重新创建视图,因此我的很多状态都会丢失.但是我注意到一些视图状态,例如编辑文本的值正在分离/附加中保持.

我想知道当视图被完全销毁并重新创建为新视图时,Android如何自动恢复状态.当我只是切换标签时,Bundle savedInstanceState的值始终为null.Bundle savedInstanceState仅在我执行旋转屏幕等操作时才会填充.

据我所知,恢复状态正好在调用片段onStart方法之前发生.

Bar*_*icz 9

附加和分离片段时,只会破坏视图,片段实例保持不变.

片段管理器恢复具有id的视图的状态,savedInstanceState为null.

在轮换的情况下,片段可能是你在其他地方重新创建的(在activity的onCreate()中).