如何解决如何从 ViewModel 引用视图例如 Spinner 值
我正在尝试从 Homeviewmodel
中引用 Spinner 视图及其值,该视图填充了 HomeFragment
中的字符串列表并在 中声明片段的 XML 布局文件。
此微调器包含语言列表。
根据选择的语言,我通过 spinner.getSelectedItem().toString()
中的 Homeviewmodel
分配不同的变量。问题是,spinner
没有在那里定义或引用,我不会在我的 HomeFragment
上进行处理,因为我会在它上面运行一些繁重的代码以免阻止它。我如何调用微调器?将 Homeviewmodel
用作一种协程是错误的吗?
解决方法
您永远不应该这样做,因为它会导致内存泄漏。来自documentation:
注意:ViewModel 绝不能引用视图、生命周期或任何可能包含对活动上下文的引用的类。
如果您创建一个视图模型的方法,将所选语言作为参数传递并从视图 (Fragment) 中调用该方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。