@kirawa

Как передать интерфейс в наследуемый класс с общим жизненным циклом?

Добрый день. У меня есть класс сканер которому нужен жизненный цикл фрагмента для включения и отключения например onPause и onResume. Сканер планируется использовать в разных фрагментах. Сам класс сканер я унаследовал от Fragment. А класс в котором хочу использовать сканер наследую от класса сканера и еще расширяю интерфейсами с колбэками от сканера. интерфейсы не инициализируется по понятным причинам. Как мне такое сделать чтобы не загромождать классы, где должен использоваться сканер лишней логикой.

сlass Scanner extends  Fragment
@Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof  ScannerStatus){
            this.scannerStatus = (ScannerStatus) context;
        }
    }
———————————————-
class A extends Scanner implements ScannerStatus
вот тут я хочу получать колбеки от Scanner
————————————————————
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Composition over inheritance.
Ты не должен постоянно наследоваться. Надо этот Scanner добавлять как childfragment (getChildFragmentManager()) в те места, где он нужен. Также договориться, что parentFragment будет реализовывать интерфейс коллбек.

Кроме того, надо понять, действительно ли сам сканнер должен быть фрагментом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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