我有两个片段(例如fragmentA和fragmentB)。
首先,在fragmentA中,使用findNavController().navigate(R.id.action_fragmentA_to_fragmentB)
导航至fragmentB。
然后,如果要返回fragmentA,则在fragmentB中。下面有两种方法:
onCreate()
将不会被调用onCreate()
将被称为为什么?
答案 0 :(得分:0)
后退按钮不调用片段的onCreate的原因是设计使然。用户不希望后退按钮调用onCreate或再次创建您的片段。
例如,请考虑当您在Android上打开YouTube应用程序时,系统会显示主屏幕,并根据您的兴趣填充视频。当您在滚动一点后点击视频,然后在视频中途决定通过按“后退”按钮返回时,您希望该应用程序返回到您点击视频时的位置,并且滚动的次数与您之前所做的相同,而不是重新加载整个主页,而是重新填充新视频并将您重置到屏幕顶部。
类似地,您应用中的“后退”按钮应执行相同的操作。但是,如果您希望后退按钮的行为有所不同,则android确实提供了一种方法。请参阅this。