Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Component:
- @PerFragment
- @Component(modules = FragModule.class)
- public interface FragComponent {
- void inject(Frag1 frag);
- void inject(Frag2 frag);
- }
- //Module:
- @Module
- public class FragModule {
- @PerFragment
- @Provides
- // can use @Binds i think, 'cause no parameters...
- Model1 getModel1() {
- return new Model1();
- }
- @PerFragment
- @Provides
- // can use @Binds i think, 'cause no parameters...
- Model2 getModel2() {
- return new Model2();
- }
- }
- //Fragment:
- public class Frag1 extends Fragment implements Contract1.View {
- Frag1Presenter mPresenter;
- @Inject Model1 mModel1;
- @Override
- protected void resolveDaggerDependencies() {
- super.resolveDaggerDependencies();
- DaggerFragComponent
- .builder()
- .fragModule(new FragModule()) //ViewManager injection
- .build()
- .inject(this);
- mPresenter = new Frag1Presenter(mModel1);
- mPresenter.attachView(this);
- }
- }
- //Presenter:
- public class Frag1Presenter {
- Model1 mModel1;
- Contract1.View mView;
- public Frag1Presenter(Model1 model1) {
- mModel1 = model1;
- }
- public void attachView(Contract1.View view) {
- mView = view;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement