How I can retrieve current fragment in NavHostFragment?

后端 未结 8 1397
遇见更好的自我
遇见更好的自我 2020-12-15 17:06

I tried to find a method in the new Navigation components but I didn\'t find anything about that.

I have the current destination with :

mainHostFrag         


        
8条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-15 17:23

    @Override public void onBackPressed() { super.onBackPressed();

        NavController navController = Navigation.findNavController(this, R.id.fragment);
        int id=navController.getCurrentDestination().getId();
      if(id==R.id.startGameFragment ){
          selectedPosition(0);
    
      }else if(id==R.id.gameFragment ){
          selectedPosition(1);
    
      }else if(id==R.id.endGameFragment ){
          selectedPosition(2);
    
      }
    
    }enter code here
    
    private void selectedPosition(int pos){
        for (int i = 0; i >=nav_view.getMenu().size(); i++) {
            nav_view.getMenu().getItem(pos).setChecked(false);
    
        }
        nav_view.getMenu().getItem(pos).setChecked(true);
    }
    

提交回复
热议问题