我正在尝试将Dagger集成到我的应用程序中.我遇到了一个问题.我在运行时收到此错误:
java.lang.IllegalStateException: Errors creating object graph: com.app.NavigationController has no injectable members. Do you want to add an injectable constructor? required by class com.app.fragments.LoginFragment
我试着寻找其他类似的答案,但到目前为止没有任何帮助我……
与图形构造相关的所有内容都与Android Activity Graphs示例非常相似.
我有两个模块ActivityModule和ApplicationModule.
@Module( includes = ApplicationModule.class, injects = { MainActivity.class, LoginFragment.class })public class ActivityModule { private BaseActivity activity; public ActivityModule(BaseActivity activity) { this.activity = activity; } @ProvIDes @Singleton NavigationController provIDeNavigation() { return new NavigationController(activity); }}
而另一个
@Module( injects = { MainActivity.class, LoginFragment.class}, complete = false)public class ApplicationModule { private Context context; public ApplicationModule(Context context) { this.context = context; } @ProvIDes @Singleton APIService provIDeAPIService() { .... return restAdapter.create(APIService.class); }}
我究竟做错了什么?
更新:
添加更多细节:
分段:
public class LoginFragment extends BaseFragment { //... @Inject NavigationController navigation; //...
导航控制器:
public class NavigationController {//...public NavigationController(BaseActivity activity) { this.activity = activity;}//...}
解决方法:
在Dagger GitHub issue #372中回答了问题
总结以上是内存溢出为你收集整理的android – Dagger – 类没有可注入的成员全部内容,希望文章能够帮你解决android – Dagger – 类没有可注入的成员所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)