【发布时间】:2018-08-24 20:05:35
【问题描述】:
我想根据条件更改我的开始导航片段。我的起始片段可能是片段一或二。有没有办法实现它?
【问题讨论】:
-
目前库不支持判断条件。您应该在确定
startDestination的自定义 NavFragment 中执行此操作
标签: android-layout android-navigation android-jetpack
我想根据条件更改我的开始导航片段。我的起始片段可能是片段一或二。有没有办法实现它?
【问题讨论】:
startDestination 的自定义 NavFragment 中执行此操作
标签: android-layout android-navigation android-jetpack
Check out this question and its solution // 此处还添加了 Java 代码
刚刚将 Kotlin 代码转换为 Java
NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.home_nav_fragment); // Hostfragment
NavInflater inflater = navHostFragment.getNavController().getNavInflater();
NavGraph graph = inflater.inflate(R.navigation.nav_main);
graph.setDefaultArguments(getIntent().getExtras());
graph.setStartDestination(R.id.fragment1);
navHostFragment.getNavController().setGraph(graph);
navHostFragment.getNavController().getGraph().setDefaultArguments(getIntent().getExtras());
NavigationView navigationView = findViewById(R.id.navigationView);
NavigationUI.setupWithNavController(navigationView, navHostFragment.getNavController());
【讨论】:
Check out this question and it's solution
我还在答案下方添加了一条评论以澄清一下。
【讨论】: