0
Comment injecter le sous-composant dagger2 dans Fragment. J'utilise le même sous-composant dans Activity et ça marche bien. Comment puis-je initialiser le module en fragment.Comment le sous-composant Dagger2 injecte-t-il dans Fragment?
partie de mon Fragment
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
DgFirebaseSubComponent.Builder builder = (DgFirebaseSubComponent.Builder)
((AttendanceApplication) getActivity().getApplication()).getApplicationComponent()
.subcomponentBuilders()
.get(DgFirebaseSubComponent.Builder.class)
.get();
builder.activityModule(new DgFirebaseSubModule(??how can i initialize module ??)).build().inject(this);
}
mon DgFirebaseSubComponent.java
@DgFirebaseScope
@Subcomponent(modules={ DgFirebaseSubModule.class })
public interface DgFirebaseSubComponent {
void inject(DgAllEmpsAbsMvvmActivity activity);
void inject(DgAllEmpsAbsListFragment fragment);
SharedPreferences sharedPreferences();
@Subcomponent.Builder
interface Builder extends SubcomponentBuilder<DgFirebaseSubComponent> {
Builder activityModule(DgFirebaseSubModule module);
}
}
mon DgFirebaseSubModule.java
@Module
public class DgFirebaseSubModule {
private final DgAllEmpsAbsMvvmActivity activity;
public DgFirebaseSubModule(DgAllEmpsAbsMvvmActivity activity) { this.activity = activity; }
@Provides
@FirebaseScope
SharedPreferences providesSharedPreferences(Application application) {
return PreferenceManager.getDefaultSharedPreferences(application);
}
}