繁体   English   中英

ViewPager中当前显示的片段的保存状态

[英]Saving state of the currently displayed Fragment in a ViewPager

我目前正在使用TabLayout,该TabLayout使用ViewPager来显示Fragment的三个不同实例。 这些是我的主从流程中的“主”片段。

当用户旋转屏幕时,应用程序将显示两个片段,即主片段和详细片段。 我一直试图实现的是从纵向模式转换为横向模式时显示相同的主片段。 因此,如果我当前正在查看位于第二个选项卡中的“ MyFragment”的第二个实例,则希望在屏幕旋转时在我的主片段中具有相同的实例。

我一直在寻找有关Fragment生命周期的不同解决方案,但是它们都不适合我的特定情况。 任何有关此问题的建议将不胜感激!

如果问题还不太清楚,需要代码,我将使用必要的代码进行编辑。

设备重新定向是一个破坏性的过程,因为它会破坏当前显示在屏幕上的活动,并且由于它们的生命周期是紧密联系的,因此任何附加到该活动的片段也将被束缚。 要恢复UI状态,那么我要做的是将该信息作为标志/字段保留在ViewModel实例中。 因此,当设备重新定位并重新创建“活动/片段”时,您可以检索VideModel并检查其字段以了解最初应显示哪个片段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM