微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 ViewModel 引用视图例如 Spinner 值

如何解决如何从 ViewModel 引用视图例如 Spinner 值

我正在尝试从 Homeviewmodel 中引用 Spinner 视图及其值,该视图填充了 HomeFragment 中的字符串列表并在 中声明片段的 XML 布局文件

此微调器包含语言列表。

根据选择的语言,我通过 spinner.getSelectedItem().toString() 中的 Homeviewmodel 分配不同的变量。问题是,spinner 没有在那里定义或引用,我不会在我的 HomeFragment 上进行处理,因为我会在它上面运行一些繁重的代码以免阻止它。我如何调用微调器?将 Homeviewmodel 用作一种协程是错误的吗?

解决方法

您永远不应该这样做,因为它会导致内存泄漏。来自documentation

注意:ViewModel 绝不能引用视图、生命周期或任何可能包含对活动上下文的引用的类。

如果您创建一个视图模型的方法,将所选语言作为参数传递并从视图 (Fragment) 中调用该方法?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。