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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.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
Android 如何在不使用kotlin ktx的情况下创建viewmodel?_Android_Kotlin_Android Viewmodel - Fatal编程技术网

Android 如何在不使用kotlin ktx的情况下创建viewmodel?

Android 如何在不使用kotlin ktx的情况下创建viewmodel?,android,kotlin,android-viewmodel,Android,Kotlin,Android Viewmodel,我今天找到了kotlin扩展名(ktx),并尝试使用它 使用此方法,我尝试使用viewmodels()创建一个视图模型 但是我听说KTX很快就会被弃用,对吗 最好不要用它 那么,将来如何创建视图模型 构造函数?或者ViewModelProvider.get(this)?首先,声明一个私有的lateinit变量 private lateinit var viewModel: DetailsViewModel 然后,请在片段的onViewCreated中尝试此代码 viewModel = View

我今天找到了kotlin扩展名(
ktx
),并尝试使用它

使用此方法,我尝试使用viewmodels()创建一个
视图模型

但是我听说
KTX
很快就会被弃用,对吗

最好不要用它

那么,将来如何创建
视图模型


构造函数
?或者
ViewModelProvider.get(this)

首先,声明一个私有的lateinit变量

private lateinit var viewModel: DetailsViewModel
然后,请在片段的onViewCreated中尝试此代码

viewModel = ViewModelProvider(this,factory).get(DetailsViewModel::class.java)

factory通常注入yout dependecy注入库

“但我听说KTX很快就会被弃用,对吗?”--据我所知不是这样。你可能在谈论Gradle插件。不要与
*-ktx
AndroidX库混淆。@EugenPechanec-Uh..那么确切地说,`Kotlin Extension-Gradle`已被弃用,
ktx库仍然有效?我可以继续使用ktx库吗?简短版本:是。长版本:一个
something ktx
库包含特定于
something
库的Kotlin扩展。这里的“扩展”是指为便于在Kotlin源代码中使用而设计的附加API。这些库与提到的Gradle插件无关。@EugenPechanec感谢您的回复!谢谢,我很明白