请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

跨模块导航方案

老师您好,项目现在采用的是组件化构建。之前用的是arouter。但是现在有了jetpack我想采用它来替代。
个人琢磨了几种方式但是都失败了。希望老师能提供一些方案用于参考学习。

正在回答

1回答

LovelyChubby 2020-05-04 10:54:19

好的,这点咱们可以把注解处理器收集到的每个页面的destination 生成json之外,那还需要类比R文件,生成一份D文件,里面记录了模块的所有页面的I'd.   比如   D.id.fragment_home    D.id.activity_login

但前提是使用同一个activity来承载,否则你找不到的navigationController

如果不使用同一个activity 承载所有页面,那可以把navigationController保存个单利

1 回复 有任何疑惑可以回复我~
  • 提问者 慕容2059036 #1
    谢谢老师您的回答。根据您的回答我更倾向于第二个方案,想法也是在宿主模块转到子业务模块时,重新进行一个导航的初始化,通过老师您的建议,保证了以下三个条件的唯一性,分别是navController,activity,containerId都是始终唯一
     不过运行跳转却是空白界面。
    这个链接是我的语雀的文档链接,是我的一个记录,您费心看一下。我的设计代码是否存在问题。谢谢
    https://www.yuque.com/docs/share/32d430ef-26f8-4862-aef8-ea822364786f?#
    回复 有任何疑惑可以回复我~ 2020-05-04 13:15:16
  • 思路没有问题
    我注意到FixFragmentNavigator(activity, activity.getSupportFragmentManager())
    
    
    这里是否应该使用childfragmentmanager.  试试看
    回复 有任何疑惑可以回复我~ 2020-05-04 15:59:33
  • 提问者 慕容2059036 #3
    好的,谢谢老师。我试一试
    回复 有任何疑惑可以回复我~ 2020-05-04 18:02:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信