Mam zatem ApplicationComponent do wstrzykiwania singletonów do moich fragmentów i prezenterów, ale próbuję utworzyć komponent do wstrzyknięcia do tego samego prezentera, który AppComponent robi. Coś w tym stylu.Jak używać Daggera 2 do wstrzykiwania z użyciem wielu komponentów do tego samego obiektu?
@Component{modules = FileManagerModule.class}
public interface FileManagerComponet
{
public void inject(MyPresenter presenter);
}
@Component{modules = AppModule.class}
public interface AppComponent
{
public void inject(MyPresenter presenter);
}
@Module
public class AppModule
{
private Context appContext;
@Provides
@Singleton
public SharedPreferences preferences()
{
return appContext.sharedPreferences();
}
...
}
@Module
public class FileManagerModule
{
private Context activityContext;
@Provides
public FileManager FileManager()
{
return new FileManager(activityContext);
}
...
}
To pytanie było zadawane wielokrotnie, komponent musi podawać _wszystkie pola lub nie zadziała. Nie można mieszać i dopasowywać komponentów. na przykład sprawdź tutaj: http://stackoverflow.com/a/38897722/1837367 –
@DavidMedenjak Następnie jak mogę nadać FileManagerModule kontekst działania, jeśli AppComponent jest budowany, gdy aplikacja jest tworzona i nie ma kontekstu aktywności? – Stampede10343