Android新架构组件之Navigation
16lz
2021-01-25
两个Fragment如何实现类似Activity之间的跳转和传值?在AS3.2 beta版 发布时,出现了一个新的架构组件Navigation,可以实现Fragment之间的跳转以及Fragment跳转到Activity。
1.引入依赖:
implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha01'implementation "android.arch.navigation:navigation-runtime:1.0.0-alpha01"
2.创建Navigation配置文件 在res下创建navigation目录,新建Navigation resource file,这里就叫nav_graph.xml, 在设计视图下,可以添加fragment和Activity,然后通过连线的的方式添加之间的跳转关系,具体的触发事件,后面在代码中设置,这里只是设计了页面间的跳转关系 3.在需要使用Navigation的主Activity的布局文件中设置NavHostFragment, 参考代码如下:
<?xml version="1.0" encoding="utf-8"?>
4. 在Fragment中实现跳转 Bundle bundle = new Bundle(); bundle.putString("uid", "111"); Navigation.findNavController(getView()).navigate(R.id.action_startFragment_to_userProfileFragment, bundle);
传递的参数获取: String userId = getArguments().getString( UID_KEY ); 要想返回前一个Fragment Navigation.findNavController(getView()).popBackStack();
更多细节参考官方文档:https://developer.android.google.cn/topic/libraries/architecture/navigation/
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- Android中调用System.exit(0)
- Android(安卓)图片处理方法大全
- Android(安卓)Quick Tips #2 — Android(安卓)Studio Productivi
- android menu的应用
- Git操作常用概念和命令
- 在android style.xml文件中使用自定义属性
- Android(安卓)Studio 快捷键 for mac
- android中调用指定浏览器