android navigation使用
16lz
2021-01-23
android的navigation大部分情况是在xml进行配置,但是这样做不灵活,也可以采用在代码里面灵活跳转的方式
主要是通过NavGraph的setStartDestination方法。
NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.main_view_nav_host_fragment);NavGraph navSimple = navHostFragment.getNavController().getNavInflater().inflate(R.navigation.main_navigation);if (getIntent().getBooleanExtra("jumpfromsettingactivity",false)){ if (getIntent().getIntExtra("fragmentnum", 1) == 2) { navSimple.setStartDestination(R.id.connectionFailedWifiFragment); }}else { navSimple.setStartDestination(R.id.realTimeFragment);}navHostFragment.getNavController().setGraph(navSimple);
同时注意要去掉xml里面的app:navGraph
app:navGraph="@navigation/main_navigation"
和默认的startDestination
app:startDestination="@id/XXXFragment"
更多相关文章
- Android命令行启动程序-am命令的使用-纠正网上大部分资料的错误
- [Android] AIDL的使用情况和实例介绍
- android webview无网络情况下的处理
- Android内存机制分析2——分析APP内存使用情况
- Android 7.0 移除设置中的某些项(辅助功能、流量使用情况、位置信
- android获取存储卡使用情况
- Android获得全局进程信息以及进程使用的内存情况
- 【实战】android获取天气情况(Json来返回数据)
- android获取应用内自定义权限与权限使用情况