【发布时间】:2018-08-29 21:43:43
【问题描述】:
我正在计划这样的视图层次结构:
基本上主 Fragment 将能够触发 Bottom Sheet Navigation Controller 内的导航,Bottom Sheet Fragment 也将能够触发 Bottom Sheet Navigation Controller 内的导航并将事件/数据发送到 Main Fragment。
例如,假设 Main Fragment 有一个项目网格,而 Bottom Sheet Fragment 显示最后单击的项目详细信息。用户可能会单击底部工作表片段中详细信息内的按钮,比如说“立即订购”按钮,现在必须将这个事件执行到主片段。请不要拘泥于这个特定的用例,这只是我为了说明需要而做的一个例子。
我的问题是如何克服 Android Jetpack 中导航控制器提供的分离?有很多关于如何使用常见的Activity 等来管理共享同一屏幕的Fragments 之间的通信的文档,但是现在有新的导航控制器带来了新的抽象解耦Fragment 处理所以我我不太确定如何进行。
我考虑过可能使用Singleton 来传递事件/数据,可能在其中使用LiveData,但我认为可能有一些更优雅的解决方案。
【问题讨论】:
标签: android android-fragments android-architecture-components android-architecture-navigation