2

부모 조각 안에 2 개의 조각이 있습니다. 부모 단편의 OnCreateView()에서 나는 replace(int, Fragment)을 통해 이러한 단편을 보여줍니다. 알다시피, FragmentTransaction#commit()은 비동기 적으로 호출됩니다.안드로이드는 다른 조각 안에 조각을 바꿉니다.

그래서 사용자가 신속하게 버튼을 다시 누르면 경우 - 부모 조각을 파괴 시스템이 (가, onDestroyView(), onStop(), onPause()onDestroy()를 호출) 및 비동기 실패합니다 작업을 교체를 - 부모 뷰가 파괴되고 시스템이 "던졌습니다 는 IllegalArgumentException : 조각 MyFragment "에 대한보기를 찾을 수 없습니다." 지원 라이브러리를 사용합니다.

이 경우 어떻게 관리 할 수 ​​있습니까? 나는 어떤 도움을 주셔서 감사합니다.

답변

1

내 문제가 해결되었습니다. 중첩 된 단락의 경우 getFragmentManager() 대신 getChildFragmentManager()을 사용해야합니다. ChildFragmentManager은 부모 조각의 수명주기를 추적하고 부모 조각이 삭제 될 예정인 커밋 된 커밋을 취소하는 것처럼 보입니다.

관련 문제