2017-11-16 1 views
0

2 개의 액티비티 A와 B가 있습니다. 둘 다 BaseActivity를 확장합니다. 활동 A는 실행기 활동입니다. A에서 버튼을 클릭하면 Activity B로 이동합니다. 그러나 이상한 것을 발견하고 정상인지 여부를 알 수 없습니다. 활동 라이프 사이클에 따라 onResume()은 onPause() 전에 호출됩니다. 하지만 B 액티비티를 시작하면 baseActivity가 먼저 일시 중지되었다가 다시 시작됩니다. 뒤로 버튼을 누르고 활동 A에 도달하면 baseActivity가 일시 중지되고 다시 시작된 다음 파괴됩니다. 나는 아직도 이유를 이해할 수 없다. 아마도 이것은 멍청한 질문이지만 궁금해서 온라인에서 답변을 찾지 못했습니다. 너희들이 나를 도울 수 있기를 바라 라!onPause()는 BaseActivity에서 onResume() 전에 호출됩니다.

+1

나는 확실히, onPaused는 첫 번째 액티비티 였고 OnResume은 두 번째 액티비티였다. –

+0

아니요, BaseActivity의 onPause 및 onResume에 로그를 넣습니다. – Rektirino

답변

1

나는 onPause가 첫 번째 활동에서 나온 다음 OnResume이 두 번째 양식이라고 생각합니다.하지만 둘 다 BaseActivity에서 확장되었으므로 아마 그 순서의 기본 활동 이벤트를 볼 수 있지만 그들은 당신의 다른 인스턴스입니다 BaseActivity

, 두 활동

ActivityA이 그냥 명확하게하기 -> BaseActivity

ActivityB -> BaseActivity

당신을 로그인하는 경우 BaseActivity 당신 위스콘신 그들은 BaseActivity의 다른 인스턴스이기 때문에 두 액티비티의 이벤트를 잡아낼 것이다.

+0

따라서 baseActivity의 onPause 및 onResume과 함께 활동 A 및 B의 onPause 및 onResume과 함께 말할까요? – Rektirino

+0

음 ... 실제로는 아니지만 거의 ... 활동 A와 B는 BaseActivity의 확장이므로 ActivityA 및 B의 onPause 및 onResume은 baseActivity 객체라고도합니다 (그러나 다른 객체에서) – FOliveira

+0

ok . 그런데 왜 그것이 파괴되고 있습니까? – Rektirino

관련 문제