Подсоединение нового компонента Android к основной деятельности

64
6

Итак, я написал компонент прокрутки изображения, который использует относительный макет, линейные макеты,
AsyncTasks и рисование холста. При разработке я протестировал приложение, написав все внутри фиктивной активности. Поскольку мой компонент использует потоки для связи с сервером, создание и уничтожение потоков связаны с жизненным циклом активности.


Теперь я хочу встроить этот компонент в реальную основную деятельность приложения. Поэтому мой вопрос заключается в том, чтобы мой компонент знал о событиях жизненного цикла активности. Подход, который я использовал сейчас, заключается в создании соответствующего метода жизненного цикла, такого как (onMyComponentCreate()), и вызвать его внутри onCreate. Есть ли другой способ сделать это?

спросил(а) 2021-01-19T16:28:09+03:00 6 месяцев, 2 недели назад
1
Решение
109

Вы можете подклассифицировать Activity и использовать шаблон издателя/подписчика для уведомления абонентов о событиях жизненного цикла активности.

Создайте интерфейс, который имеет те же методы (onCreate, onPause и т.д.), и ваш элемент управления реализует этот интерфейс. Добавьте список этих типов интерфейсов в подкласс класса Activity и ознакомьтесь с общедоступными методами подключения и отсоединения подписчиков (не забудьте очистить ссылки в onDestroy). Затем переопределите все методы жизненного цикла и вызовите методы жизненного цикла суперкласса (super.onCreate и т.д.) Через всех подписчиков и назовите их одним и тем же методом.

ответил(а) 2021-01-19T16:28:09+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема