用Jetpack'重新制作的碎片;s的Android导航组件
我有两个片段(例如片段A和片段B) 首先,在fragmentA中使用用Jetpack'重新制作的碎片;s的Android导航组件,android,android-jetpack,android-jetpack-navigation,Android,Android Jetpack,Android Jetpack Navigation,我有两个片段(例如片段A和片段B) 首先,在fragmentA中使用findNavController()。导航(R.id.action\u fragmentA\u到\u fragmentB)导航到fragmentB 然后,在fragmentB中,如果你想回到fragmentA。以下有两种方式: 只需按后退按钮即可:不会调用fragmentA的onCreate() findNavController()。导航(R.id.action\u fragmentB\u到\u fragmentA):将调
findNavController()。导航(R.id.action\u fragmentA\u到\u fragmentB)
导航到fragmentB
然后,在fragmentB中,如果你想回到fragmentA。以下有两种方式:
- 只需按后退按钮即可:不会调用fragmentA的
onCreate()
- findNavController()。导航(R.id.action\u fragmentB\u到\u fragmentA):将调用fragmentA的
onCreate()
为什么?返回按钮在创建片段时不调用的原因是出于设计。用户不会期望back按钮再次调用onCreate或create片段 举个例子,想想当你在Android上打开YouTube应用程序时,你会看到你的主屏幕,屏幕上会显示基于你兴趣的视频。当你在一段时间滚动后点击一段视频,然后在视频的中途按下后退按钮决定返回时,你希望应用程序返回到你点击视频的位置,滚动的次数与你之前相同,而不是重新加载您的整个主页再次填写新的视频和重置您的屏幕顶部
同样,应用程序中的后退按钮也应该这样做。然而,如果你想让你的后退按钮有不同的表现,安卓确实提供了一种方法。请参阅。
返回按钮在创建片段时不调用的原因是出于设计代码>是否有任何官方Android文档?