Я пытаюсь настроить Base Presenter с помощью Mosby MvpBasePresenter в Dagger 2. У меня есть следующий базовый компонент:
public interface BaseViewComponent<V extends BaseView, P extends BasePresenter> {
void injectView(V object);
void injectPresenter(P object);
P getPresenter();
}
со следующим BasePresenter
public class BasePresenter <V extends BaseView> extends MvpBasePresenter {
@Inject public BasePresenter () {
}
}
и следующий BaseActivity
public abstract class BaseActivity<P extends BasePresenter, C extends BaseViewComponent> extends MvpActivity implements BaseView<P> {
@Inject C mComponent;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getViewContentId() != 0) {
setContentView(getViewContentId());
ButterKnife.bind(this);
}
}
@Override
public P createPresenter() {
return mComponent.getPresenter();
}
}
По какой-то причине презентатор создания отображается как возвращающий тип BasePresenter, а не тип P, хотя компонент getPresenter возвращает P. Кто-нибудь знает? это даже хорошая идея сделать?
BaseView
? - person EpicPandaForce   schedule 17.12.2015interface BaseView extends MvpView
? - person sockeqwe   schedule 24.12.2015