1

나는 여러 어린이 활동이있는 ActivityGroup이 있습니다.ActivityGroup의 하위 활동이 "때때로"onBackPressed()를 호출합니다.

최근에 나는 onBackPressed 메서드가 자식 활동에서 항상 부모 Activity (activityGroup)에서 호출되는 것이 아니라는 것을 발견했습니다.

일부 테스트를 마친 후 초점이 맞는 EditText가있는 경우에만 onBackPressed이 자식에서 호출된다는 것을 발견했습니다. EditText가 포커스가 맞지 않거나 EditText가없는 경우 (버튼이나 체크 상자와 같은 다른 컨트롤이 있더라도) 결국 호출되지 않습니다.

자식이이 호출을 받으면 부모는 호출하지 않습니다.

활동의 행동이 왜 바뀌는 지 아는 사람이 있습니까? 하위 액티비티에서 실행할 수있는 메서드가있어 항상이 포커스를 얻고 onBackPressed 메서드 기본 설정을 얻습니다.

답변

1

가장 쉬운 구현은 parent-> currentChild 또는 back 버튼을 눌렀을 때 자식에 의해 호출 된 메소드를 만드는 것이 었습니다.

+0

감사합니다 ... 내 응용 프로그램에서 같은 문제가 발생했습니다. 나는이지면으로이 문제를 해결했다. –

0

새해가 나도 잘 지내고 싶습니다. onCreate 함수 밖에서 onBackPressed 함수를 정의했는지 확인하십시오. onCreate 함수의 루프 내에서 onBackPressed가 선언 된 경우가 종종 발생합니다.