为什么在使用JetPack Navigation导航后立即调用片段中的onDestroyView

时间:2018-11-26 15:55:02

标签: android android-architecture-components android-jetpack

导航到其他片段时立即调用onDestroyView()是正常行为吗?

我调用以下方法进行导航:

findNavController().navigate(R.id.action_homefragment_to_detailsfragment)

有办法避免这种情况吗?还是应该从ViewModel恢复所有内容?例如,我在ScrollView中的最后一个滚动位置。

1 个答案:

答案 0 :(得分:3)

后堆栈上的片段的视图被破坏,但是视图状态被保存并再次回到堆栈顶部时自动恢复(即,您按下系统后退按钮)。

只有具有android:id的视图才会保存和恢复其状态,因此请确保所有重要的视图都具有ID。