2016-11-18 10 views
1

私はAndroidでDagger2を使用しています。名前付きバリアントを使用してSingletonをビルドする方法の問題に遭遇しました。Dagger 2 - Module with Singleton

私はBとAからオブジェクトCを作成したいとしましょう。Aはここでは説明しませんが、Bには2つのバージョン(niceBとnotNiceB)があります。私はnotNiceBでCをビルドしたいのですが、どのBeanを注入するかを指定する方法はありますか?パラメータの@Named( "notNiceB")B bが機能していないようです。

@Module 
public class MyModule { 

@Provides 
@Singleton 
C providesC(B b, A a) { 
    // Omitted here 
} 

@Provides 
@Singleton 
@Named("niceB") 
B providesNiceB() { 
    // Omitted here 
} 

@Provides 
@Singleton 
@Named("notNiceB") 
B providesNotNiceB() { 
    // Omitted here 
} 
} 
+0

EpicPandaForceは以下の通りです。 「動作していない」と言われているので、デバッグに役立つエラーメッセージやその他の詳細を追加できますか? –

答えて

1
@Provides 
@Singleton 
C c(@Named("notNiceB") B b, A a) { 
    // Omitted here 
} 

これは動作するはずです。

関連する問題