编程知识 cdmana.com

Android 模板 Bottom Navigation Activity中Fragment重建的问题

Bottom Navigation Activity在切换Fragment时,每次都销毁重建,在需要保留Fragment的场合无法保留数据。

打开 MainActivity 的布局文件,NavHostFragment。

android:name="androidx.navigation.fragment.NavHostFragment"

在 NavHostFragment 源码的 onCreate 方法当中

onCreateNavController(mNavController);
 protected void onCreateNavController(@NonNull NavController navController) {
        navController.getNavigatorProvider().addNavigator(
                new DialogFragmentNavigator(requireContext(), getChildFragmentManager()));
        navController.getNavigatorProvider().addNavigator(createFragmentNavigator());
    }
protected Navigator<? extends FragmentNavigator.Destination> createFragmentNavigator() {
        return new FragmentNavigator(requireContext(), getChildFragmentManager(),
                getContainerId());
    }

可以看到,每次在创建NavController时,都会重新创建新的fragmentNavigator

版权声明
本文为[悲催的古灵武士]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/3732258/blog/4714880

Tags Android
Scroll to Top