So habe ich eine ApplicationComponent für das Einspritzen von Singletons in meine Fragmente und Presenter, aber ich versuche, eine Komponente zu erstellen, um in den gleichen Präsentator, die AppComponent zu injizieren tut. Etwas in dieser Richtung.Wie kann Dolch 2 verwendet werden, um mehrere Komponenten in das gleiche Objekt zu injizieren
@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);
}
...
}
Diese Frage wurde mehrmals gestellt, eine Komponente muss _all_ der Felder angeben, oder es wird nicht funktionieren. Sie können Komponenten nicht mischen und zuordnen. z.B. prüfe hier: http://stackoverflow.com/a/38897722/1837367 –
@DavidMedenjak Wie kann ich dann dem FileManagerModule einen Aktivitätskontext geben, wenn die AppComponent beim Erstellen der Anwendung erstellt wird und es keinen Aktivitätskontext gibt? – Stampede10343