繁体   English   中英

在 VIew 中如何使用 ViewModel 和 ViewModelProvider

[英]In VIew how to use ViewModel with ViewModelProvider

这是我的 MineSweeperView class:

class MineSweeperView : View {

constructor(context: Context?) : super(context)
    constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
    private var userViewModel: UserViewModel


    init {
        ....
        userViewModel = ViewModelProvider(???).get(UserViewModel::class.java)
    }

ViewModelProvider( this ) 和 ( context ) 在 View class 中不起作用。

你不能这样做。 视图具有 ViewModel class 是不合适的。 ViewModel 仅适用于 LifecycleOwner,因为它们的范围仅限于 LifecycleOwner 的生命周期。 这就是 ViewModel 存在的全部原因,它的生命由其他生命周期 object 的生命控制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM