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