我在一个Fragment中(称之为A Fragment)使用了ViewPager2,它使用了FragmentStateAdapter来创建一些子Fragment(我们称之为children)。当用户在A Fragment中点击一个按钮后,我将其替换为B Fragment。
现在,当用户点击设备的返回按钮回到A Fragment时,我发现系统会自动还原children(它们不会显示在ViewPager中,但是它们的onCreateView方法被调用并且保存的Bundle被传递给它们)。如何避免这种行为?我不希望children被自动重新创建和恢复。
onCreate
方法也被调用了。为什么?!在我还没有向viewpager添加任何数据的情况下,谁实例化了这些片段?! - SoheiloffscreenPageLimit
的创建,但我相信其中还有更多的东西。我相信VP或FragmentManager正在"预先智能化"并准备恢复先前的状态。 - Martin Marconcini