如何解决Android:不同的导航图java / kotlin的不同ViewModel实例
我正在使用Android导航组件,我有一个片段FragA,该片段正在多个导航图中重复使用,我希望每个图中的fragA具有不同的ViewModel实例。
我环顾四周,发现by navGraphViewModels(R.id.child_graph)
,但这需要知道我来自哪个图形,但由于FragA被重用,我不知道它。
由于无法执行private val childGraphScopedViewModel: ChildGraphScopedViewModel by navGraphViewModels(arguments.getInt) {
之类的操作,因此无法在参数/束中传递图形,因为在调用该行代码时参数仍然为Null。
所以我的问题是如何使图形ID动态化?
我是否必须编写反映by navGraphViewModels
的自定义实现?
(另外,我可能需要这样的东西才能在java / kotlin中工作)
解决方法
我建议您为每个图形使用FragA的SubFrag1,SubFrag2...。
open class FragA
class SubFrag1: FragA()
class SubFrag2: FragA()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。