2017-10-27 8 views
0

Muss ich jeden Bereich für jede einzelne Aktivität erstellen? Kann ich für jede Fragmentaktivität nicht nur einen Standardbereich definieren?Dolch 2 Benutzerdefinierter Bereich für jede Aktivität

+0

es hängt von Ihren Bedürfnissen ab. Ihre Instanz wird zwischen Aktivitäten geteilt oder jede Aktivität muss eine eigene Instanz Ihres Objekts haben – Fakher

Antwort

0

können Sie leicht haben ein @ActivityScope oder @ActivityScoped Objekt auf mehrere Geschwister Aktivitätskomponenten angewendet, und es wird wie erwartet funktionieren: Solange Sie pro Aktivitätsinstanz genau eine neue Subkomponente schaffen, dann wird jeder Zugriff auf @ActivityScope Bindungen das wird in ihren jeweiligen Komponenten leben.

@ApplicationScope @Component(/* ... */) 
interface ApplicationComponent { 
    FooActivitySubcomponent createFoo(); 
    BarActivitySubcomponent createBar(); 
    // ... 
} 

@ActivityScope @Subcomponent(/* ... */) 
interface FooActivitySubcomponent { 
    void inject(FooActivity activity); 
    // ... 
} 

@ActivityScope @Subcomponent(/* ... */) 
interface BarActivitySubcomponent { 
    void inject(BarActivity activity); 
    // ... 
} 

Natürlich Module.subcomponents ist ein besserer Weg Subkomponenten in Produktion zu geben, und natürlich dagger.android ist eine automatische Art und Weise eine Struktur wie diese zu erstellen.