0

Dagger がどのように機能するかを理解するのに少し苦労していますが、今回もコードがいくつかあります。

私はいくつかのクラスとそれぞれのインターフェースを持っています

public class SomeView {
    @Inject ISomeManager

    public SomeView() {}
    ...
}

public class SomeManager implements ISomeManager {
    @Inject IDataProvider

    public SomeManager() {}
    ...
}

public class DataProvider implements IDataProvider {
    ...
}

そして、おおよそ次のようなコンポーネント

@Component(modules = {DataModule.class, SomeModule.class})
public interface AppComponent() {
    ISomeView getSomeView();
}

では、すべてのインジェクションが正しく行われるSomeViewviaのインスタンスを作成するには、他に何が必要でしょうか?getSomeView

私はそれをしようとしまし@Module(includes = DataModule.class)@Provides ISomeView provideISomeView()(または、provideISomeView(IDataProvider dataProvider)少なくともDataProvider上記のメソッドで正しいインスタンスを提供します)が、何を試してIDataProviderも、モジュール内またはSomeManagerコンストラクター自体-そのようなステートメント@Injectは無意味になります。

4

0 に答える 0