메인 액티비티에서 일부 스레드가 실행 중이며 해당 스레드가 실행되는 동안 하위 액티비티를 생성하여 스레드의 결과를 표시합니다.액티비티 사이에 핸들러 전달하기
주요 활동은 처리기를 통해 스레드의 결과에 대해 통지됩니다 (하위 활동이 실행 중이므로 상태는 onPause()
임). 다음과 같이 기본 액티비티와 하위 액티비티간에 동일한 작업을 수행하려고합니다. ((MainActivity) getParent()).setMainActivityHandler(handler)
을 호출하여 하위 액티비티에서 다른 액티비티로 다른 액티비티를 전달합니다 (setMainActivityHandler()
은 초기화 메서드 임). 주요 활동에서 처리기의 그런 다음 스레드가 Message
을 핸들러를 통해 주 활동으로 보내면 주 활동은 다른 보조자와 동일한 마사지 또는 수정 된 다른 Message
의 버전을 하위 활동으로 보냅니다. 하위 작업은이 메시지의 내용에 따라보기를 업데이트합니다.
그러나 ((MainActivity) getParent())
은 null
을 반환합니다. 나는 어떻게이 일을 할 수 있을까? 다른 방법이 있습니까?
PS : 두 활동 모두 활동을 연장합니다. 매니페스트 파일에는 기본 활동 (action.VIEW
& category.DEFAULT
)에 대한 의도 필터가 있으며 하위 활동을위한 필터가 없습니다.