@Web__Nikita03

Как правильно использовать generic типы?

Мне надо, чтобы метод attach принимал класс, который наследуется от BaseCompatActivity. Что я сделал не правильно, так как Android Studio выдает ошибку
public interface BaseMvpPresenter <T extends BaseCompatActivity>{
    boolean isAttached = false;
    void attach(T view);
    void detach();
}

И сам основной presenter
public class BasePresenter <T extends BaseCompatActivity> implements BaseMvpPresenter {

    private T view;
    private boolean isAttached = false;

    @Override
    public void attach(T view) {
        this.view = view;
        isAttached = true;
    }

    @Override
    public void detach() {
        view = null;
        isAttached = false;
    }
}

Сильно не пинайте, я только недавно познакомился с generic типами.
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
Bavashi
@Bavashi
Попробуйте указать generic-тип для имплементируемого интерфейса BaseMvpPresenter <T>.
Полный код
public class BasePresenter <T extends BaseCompatActivity> implements BaseMvpPresenter <T> {

    private T view;
    private boolean isAttached = false;

    @Override
    public void attach(T view) {
        this.view = view;
        isAttached = true;
    }

    @Override
    public void detach() {
        view = null;
        isAttached = false;
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sputterspark
@Sputterspark
В тексте ошибки написано, что ты сделал не так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы