Я запускаю несколько потоков в основном действии, и пока эти потоки запущены, я создаю вспомогательное действие, чтобы показать результаты потоков.
Основное действие уведомляется о результатах потоков через обработчики (даже его состояние onPause()
из-за запуска вспомогательного действия). Я хочу сделать то же самое между основным и дополнительным действиями следующим образом:
Я передаю другой обработчик из под действия в основное действие, вызывая ((MainActivity) getParent()).setMainActivityHandler(handler)
, чтобы инициализировать обработчик в основном действии, где setMainActivityHandler()
- это просто метод инициализации обработчика в основном действии. Затем, когда Поток отправляет Message
в основное действие через свои обработчики, основное действие отправляет тот же массаж или модифицированную версию другого Message
в вспомогательное действие через другой обработчик. Таким образом, подактивность обновит представление в соответствии с содержанием этого сообщения.
Однако ((MainActivity) getParent())
возвращает null
. Как мне это удается? Есть ли другой метод?
PS: Оба вида деятельности расширяют активность. Файл манифеста имеет фильтр намерений для основной деятельности (action.VIEW
& category.DEFAULT
), НЕТ фильтра намерений для вспомогательной деятельности.