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;
}
}
}