android jetpack Navigation 获取当前激活的fragment

故事扮演 提交于 2019-12-18 05:17:33

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;
           }
        }
    }	
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!