MVVM---如果自己的ViewModel有参数该怎么创建ViewModel

没有参数的ViewModel这么创建:


image.png
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)

有参数的,先读源码:
发现有工厂类肯定是创建这个的


image.png

image.png

这个factory有几个实现类,我们使用NewInstanceFactory


image.png
  • 实操 如何创建有参数的ViewModel

我们只需要继承NewInstanceFactory重写creat方法的返回值就可以了


image.png

image.png

image.png

你可能感兴趣的:(MVVM---如果自己的ViewModel有参数该怎么创建ViewModel)