将Activity ktx与viewmodel和java一起使用
我有一段代码,我需要使用活动库实例化我的viewmodel,我尝试用java实现,但似乎没有任何效果将Activity ktx与viewmodel和java一起使用,java,kotlin,viewmodel,Java,Kotlin,Viewmodel,我有一段代码,我需要使用活动库实例化我的viewmodel,我尝试用java实现,但似乎没有任何效果 这是kotlin中的代码,我想将其转换为java 在Java中,在onCreate方法中使用ViewModelProvider: private MainViewModel mainViewModel; public void onCreate(Bundle savedInstanceState) { mainViewModel = new ViewModelProvider(
- 这是kotlin中的代码,我想将其转换为java
在Java中,在
onCreate
方法中使用ViewModelProvider
:
private MainViewModel mainViewModel;
public void onCreate(Bundle savedInstanceState) {
mainViewModel = new ViewModelProvider(this).get(MainViewModel.class);
}
谢谢你的回答,我是这样知道的,但因为在活动库文档中,他们提供了适用于kotlin的活动ktx,也提供了适用于java的活动(不含ktx),后者的工作是什么?@takieddine这就是我要说的,正如你在kotlin的init viewmodel中看到的,我们使用活动ktx,但对于java,它们提供了正常的one@takieddine通常ktx库依赖于Java库并为Kotlin提供扩展函数,例如,
androidx.activity:activity ktx
依赖于androidx.activity:activity
,并提供了Kotlin扩展,如viewModels
,如果您想在Java中使用类似于Kotlin文档建议的委派,我想您可以使用:viewModelProvider提供的私有val viewModel{(applicationContext作为您的应用程序).component.MainViewModel()}
private MainViewModel mainViewModel;
public void onCreate(Bundle savedInstanceState) {
mainViewModel = new ViewModelProvider(this).get(MainViewModel.class);
}