Kotlin ViewModelProviders在2.2.0中不推荐使用
目前我将Kotlin ViewModelProviders在2.2.0中不推荐使用,kotlin,android-jetpack,android-viewmodel,viewmodelproviders,Kotlin,Android Jetpack,Android Viewmodel,Viewmodelproviders,目前我将androidx.lifecycle:lifecycle extensions版本从2.2.0-alpha01更新为2.2.0,这表明ViewModelProviders已经过时。那么,在kotlin中使用ViewModelProviders的替代方法是什么呢?如中所述,您现在只需直接使用。主要应该是将ViewModelProviders.of(的)更改为ViewModelProvider(),但您也可以看到中哪些新方法与哪些旧方法对应的完整列表 在Kotlin中,您还可以在活动中使用b
androidx.lifecycle:lifecycle extensions
版本从2.2.0-alpha01
更新为2.2.0
,这表明ViewModelProviders已经过时。那么,在kotlin中使用ViewModelProviders的替代方法是什么呢?如中所述,您现在只需直接使用。主要应该是将ViewModelProviders.of(
的)更改为ViewModelProvider(
),但您也可以看到中哪些新方法与哪些旧方法对应的完整列表
在Kotlin中,您还可以在活动中使用by viewModels()
属性委托来获取单个ViewModel
。例如:
val model: MyViewModel by viewModels()
例如,如果您使用的是旧版本
MyViewModel myViewModel = new ViewModelProviders.of(this, new MyViewModelFactory(this.getApplication(), "Your string parameter")).get(MyViewModel.class);
例如,对于最新版本
MyViewModel myViewModel = new ViewModelProvider(this, viewModelFactory).get(MyViewModel.class);
或者,使用ViewModelStore
旧版本
现在选择
在爪哇
在科特林
Refs-ViewModelProvider(this).get(ChatViewModel::class.java)
在java中“viewModel=newviewmodelprovider(this).get(BaseViewModel.class);”
MyViewModel myViewModel = new ViewModelProvider(getViewModelStore(), viewModelFactory).get(MyViewModel.class);
var viewModel = ViewModelProviders.of(this).get(BaseViewModel::class.java)
viewModel = ViewModelProvider(this).get(BaseViewModel.class);
var viewModel = ViewModelProvider(this).get(BaseViewModel::class.java)