我有一个具有以下架构的应用程序:
Navigator
是一个自定义类,它包含NavController
Cooridnator
持有Navigator
Cooridnator
告诉Navigator
“启动”framgent并将其传递ViewModel
给它Navigator
要求NavController
导航到 aNavDirections
并提供所需的参数(使用 Safe-Args)
现在这里的问题是,如果我想发送ViewModel
as 参数,它需要是 Parcelable 以及它的所有底层类(这将使我的大部分代码 Parcelable,这并不是真正需要的)。
那么有没有办法做到这一点而不使一切 Parcelable 或使用 Dagger ?(不喜欢 Dagger,因为它给代码增加了太多的复杂性......)
我可以lateinit
在 Fragment 中有一个字段并手动设置它,但似乎无法访问 FragmentNavDirections
关于我如何做到这一点的任何想法?