gpt4 book ai didi

android - Dagger - 类没有可注入(inject)成员

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:01 24 4
gpt4 key购买 nike

我正在尝试将 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 中的非常相似示例。

我有两个模块 ActivityModuleApplicationModule

@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);
}
}

我做错了什么?

更新:
添加更多详细信息:

fragment :

public class LoginFragment extends BaseFragment {

//...

@Inject
NavigationController navigation;

//...

导航 Controller :

public class NavigationController {

//...

public NavigationController(BaseActivity activity) {
this.activity = activity;
}

//...
}

最佳答案

这个 Dagger 中回答了问题 GitHub issue #372

关于android - Dagger - 类没有可注入(inject)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com