탭으로 응용 프로그램을 만들고 있습니다. 해당 앱에서 동일한 TabView
이 계층 구조의 여러 액티비티에 표시됩니다. 그 때문에 나는 ActivityGroup
을 사용했습니다.ActivityGroup의 활동 간 이동 중 StackOverflowError
내 애플리케이션에서는 탭이 포함 된 첫 번째 활동에서 하위 활동으로 이동할 수 있으며 하위 활동의 버튼을 눌러 이전 활동으로 돌아갈 수 있습니다. 이 두 가지 활동을 탐색하는 동안 몇 개의 탐색 후에 StackOverflowError가 발생합니다. 나는 플래그를 시도했다
Intent.FLAG_ACTIVITY_CLEAR_TOP
그러나 도움이되지 않는다. 또한
finish()
을 시도하지만 전체
ActivityGroup
을 종료합니다. 그런 다음 방법을 시도했습니다.
finishActivityFromChild()
그러나 여전히 동일한 오류가 발생합니다.
이것은로 탭을 포함하는 첫 번째 활동에서 이동 내 코드의 자식 -
intent = new Intent(context, ChildActivity.class);
View view = getLocalActivityManager().startActivity("activity2", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView();
setContentView(view);
finishActivityFromChild(getCurrentActivity(), 0);
그리고 나는 버튼 -의 클릭에 부모 활동에 돌아 오는을 위해 사용하고있는 동일한 코드
public void onClick(View arg0) {
intent = new Intent(context, ParentActivity.class);
View view = getLocalActivityManager().startActivity("activity1", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView();
setContentView(view);
finishActivityFromChild(getCurrentActivity(), 0);
}
이제이 문제를 해결하기 위해 무엇을해야할지 모르겠습니다. 어떤 도움을 주셔서 감사합니다. 미리 감사드립니다.
코드를 게시물에 삽입했습니다. 그것을 확인하십시오. – aaaaa
API에 따르면 finishActivityFromChild()는 자식이 작업을 완료 할 때 부모에서 호출되며, 명시 적으로 호출해서는 안됩니다. 순환 호출이 무엇인지 확인하기 위해 인쇄물이나 중단 점을 사용하여 간단하게 시도해 보셨습니까? –