val mainViewModel = ViewModelProvider(this,
ViewModelProvider.AndroidViewModelFactory(application)).get(MainViewModel::class.java)
- 在activity中获取当前Activity级别作用域的ViewModel
private val mainViewModel:MainViewModel by viewModels()
- 在activity中获取Application级别作用域的ViewModel(注,这个是本框架提供的,Application类继承框架的BaseApp才有用)
private val mainViewModel by lazy { getAppViewModel<MainViewModel>()}
- 在fragment中获取当前Fragment级别作用域的ViewModel
private val mainViewModel:MainViewModel by viewModels()
- 在fragment中获取父类Activity级别作用域的ViewModel
private val mainViewModel:MainViewModel by activityViewModels()
- 在fragment中获取Application级别作用域的ViewModel(注,这个是本框架提供的,Application类继承框架的BaseApp才有用)
private val mainViewModel by lazy { getAppViewModel<MainViewModel>()}
网友评论