Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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 在AppActivity中使用ViewModelProvider(此)时出错_Java_Android - Fatal编程技术网

Java 在AppActivity中使用ViewModelProvider(此)时出错

Java 在AppActivity中使用ViewModelProvider(此)时出错,java,android,Java,Android,我正在尝试为android动态功能库使用ViewModelProvider,该库正在添加到现有项目中。我的AppCompativeActivity类中有以下代码 MyModel model = new ViewModelProvider(this).get(MyModel.class); 该项目使用的是androidx生命周期库的2.2.0版本。从我的gradle文件: implementation 'androidx.appcompat:appcompat:1.1.0' def li

我正在尝试为android动态功能库使用ViewModelProvider,该库正在添加到现有项目中。我的AppCompativeActivity类中有以下代码

MyModel model = new ViewModelProvider(this).get(MyModel.class);
该项目使用的是androidx生命周期库的2.2.0版本。从我的gradle文件:

implementation 'androidx.appcompat:appcompat:1.1.0'
    def lifecycle_version = "2.2.0"

    // ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
我在运行时遇到以下错误

java.lang.NoSuchMethodError: No direct method <init>(Landroidx/lifecycle/ViewModelStoreOwner;)V in class Landroidx/lifecycle/ViewModelProvider; or its super classes (declaration of 'androidx.lifecycle.ViewModelProvider' appears in.....apk
java.lang.NoSuchMethodError:在类Landroidx/lifecycle/ViewModelProvider中没有直接方法(Landroidx/lifecycle/ViewModelStoreOwner;);或者它的超类(声明'androidx.lifecycle.ViewModelProvider'出现在…..apk中)

这是一个错误吗?我是否对大型应用程序中已有的内容存在依赖性问题?如果它使用现有应用程序中较旧版本的ViewModelProvider,我将如何跟踪依赖性问题?我会认为,通过在gradle文件中命名依赖性的显式版本,可以避免此类冲突。

I had也有类似的问题。我不知道为什么,但当我使用不推荐的类
ViewModelProviders
时,它工作得很好

MyModel model = new ViewModelProviders.of(this).get(MyModel.class);

你找到这个问题的解决方案了吗?嗨@Derek你找到这个问题的解决方案了吗..我也有类似的问题。。