2014-01-05 12 views
9

私のアプリケーションに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にほとんどのように実装されている私を助けていません例。

私は2つのモジュール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); 
    } 
} 

私が間違って何をしているのですか?

UPDATE:
追加詳細:

フラグメント:

public class LoginFragment extends BaseFragment { 

    //... 

    @Inject 
    NavigationController navigation; 

    //... 

ナビゲーションコントローラ:

public class NavigationController { 

//... 

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

//... 
} 
+0

あなたは '持っていますか、このダガーで答えました@ログインしたメンバーを 'LoginFrag教え? –

+0

はい、あります。私は私の質問を更新しました。 –

+0

不完全なモジュールの 'injects'セクションだけを削除した場合 –

答えて

関連する問題