【发布时间】:2017-05-30 19:37:35
【问题描述】:
我有一个 ViewModel 类,就像 Architecture guide 的 连接 ViewModel 和存储库 部分中定义的那样。当我运行我的应用程序时,我得到一个运行时异常。有谁知道如何解决这个问题?我不应该注入 ViewModel 吗?有没有办法告诉ViewModelProvider 使用 Dagger 创建模型?
public class DispatchActivityModel extends ViewModel {
private final API api;
@Inject
public DispatchActivityModel(API api) {
this.api = api;
}
}
原因:java.lang.InstantiationException:java.lang.Class 没有零参数构造函数 在 java.lang.Class.newInstance(本机方法) 在 android.arch.lifecycle.ViewModelProvider$NewInstanceFactory.create(ViewModelProvider.java:143) 在 android.arch.lifecycle.ViewModelProviders$DefaultFactory.create(ViewModelProviders.java:143) 在 android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:128) 在 android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:96) 在 com.example.base.BaseActivity.onCreate(BaseActivity.java:65) 在 com.example.dispatch.DispatchActivity.onCreate(DispatchActivity.java:53) 在 android.app.Activity.performCreate(Activity.java:6682) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2619) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727) 在 android.app.ActivityThread.-wrap12(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6121)
【问题讨论】:
标签: android android-lifecycle dagger-2