Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Activity ktx与viewmodel和java一起使用_Java_Kotlin_Viewmodel - Fatal编程技术网

将Activity ktx与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(

我有一段代码,我需要使用活动库实例化我的viewmodel,我尝试用java实现,但似乎没有任何效果

  • 这是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);
}