Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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
Java Android LiveData,无法创建类viewModel的实例_Java_Android_Viewmodel_Android Livedata - Fatal编程技术网

Java Android LiveData,无法创建类viewModel的实例

Java Android LiveData,无法创建类viewModel的实例,java,android,viewmodel,android-livedata,Java,Android,Viewmodel,Android Livedata,按照给出的示例,我扩展了ViewModel类 public class NameViewModel extends ViewModel { private MutableLiveData<String> currentName; public MutableLiveData<String> getCurrentName() { if (currentName == null) { currentName = new MutableLiveData

按照给出的示例,我扩展了ViewModel类

public class NameViewModel extends ViewModel {
private MutableLiveData<String> currentName;

public MutableLiveData<String> getCurrentName() {
    if (currentName == null) {
        currentName = new MutableLiveData<String>();
    }
    return currentName;
}}

运行此代码无法创建类NameViewModel的实例,我在这里做错了什么?

但代码似乎没有任何问题

你能检查一下你的build.gradle中是否有这个特定的依赖版本吗

 implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'

您可以添加build.gradle吗?

您是否应该在
ViewModel
中添加一个空构造函数,调用
super()

我将NameViewModel与NameActivity放在同一个java文件中,它应该放在单独的文件NameViewModel.java中,这修复了它。

您缺少ViewModel类中的构造函数,因此添加
public NameViewModel(){}到您的ViewModel。

改为:
model=newviewmodelprovider(this.get)(NameViewModel.class)

试试这个:
model=newViewModelProvider(这是新的ViewModelProvider.AndroidViewModelFactory(getApplication()).get(NameViewModel.class)

您遇到车祸了吗?您可以从logcat粘贴日志(stacktrace)吗?虽然此代码可以回答问题,但提供有关此代码为什么和/或如何回答问题的附加上下文可以提高其长期价值。
dependencies {
    def lifecycle_version = "2.2.0"

    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    // ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
    // LiveData
    implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
    // Lifecycles only (without ViewModel or LiveData)
    implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"


    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
 implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'