android jetpack Navigation 获取当前激活的fragment
16lz
2021-01-23
android jetpack Navigation 获取当前激活的fragment
方法一
Fragment mMainNavFragment = getSupportFragmentManager().findFragmentById(R.id.main_nav_fragment); //获取指定的fragment Fragment fragment = mMainNavFragment.getChildFragmentManager().getPrimaryNavigationFragment(); if (fragment instanceof MediaDetailsFragment) { return (MediaDetailsFragment) fragment; }
方法二
Fragment mMainNavFragment = getSupportFragmentManager().findFragmentById(R.id.main_nav_fragment);NavController navController = NavHostFragment.findNavController(mMainNavFragment); int currentFragmentId = navController.getCurrentDestination().getId(); if (currentFragmentId == R.id.fragment_media_details) { for (Fragment fragment : mMainNavFragment.getChildFragmentManager().getFragments()) { if (fragment instanceof MediaDetailsFragment) { return (MediaDetailsFragment) fragment; } } }
更多相关文章
- JS怎样调用Android本地原生方法
- asynchttpclient post方法使用
- Android Studio支持Java8方法
- Android 分多次(每次一个)请求权限时的onRequestPermissionsResult
- Android EditText得到焦点失去焦点处理方法
- Android中Intent延时跳转的方法
- android编程中setLayoutParams方法设置
- Android Studio error: Unable to start the daemon process的解
- android 设置应用程序装在T卡的方法