2

4 조각이 있습니다. 나는 hide/show 트랜잭션을 사용하여 그들 사이를 전환합니다. 그들 중 하나는 replace 트랜잭션에 의해 추가 된 중첩 된 조각을 가질 수 있습니다. 문제는 중첩 된 단편을 추가하여 주 단편을 숨기면 내 중첩 된 단편의 onHiddenChanged 메소드가 호출되지 않는다는 것입니다. 왜 그렇게? 중첩 된 조각이 표시 될 때를 어떻게 확인할 수 있습니까?중첩 된 조각 생명주기

답변

2

나는 또한 당신이 직면하고있는 문제를 발견했습니다.

부모 조각을 숨기거나 표시하면 자식 조각의 보이는 상태에 아무런 영향을 미치지 않으며 onHiddenChanged()을 호출하지 않으며 항상 isVisible() = true을 반환한다는 것을 알게되었습니다.

제 해결 방법은 내 answer을 다른 질문으로 봅니다.

기본적으로 나는 실제로 자신이 실제로 볼 수있는 상태인지 찾기 위해 어떤 부모를 통해 보이는 BaseFragment에 자신의 getIsVisible() 함수를 만들었습니다. 모든 자식 조각에 전파하여 onHiddenChanged()과 비슷한 작업을 수행 할 수 있다고 확신합니다.

나는 이것이 오래되었음을 알고 있지만 어쩌면 누군가가이 지식으로부터 이익을 얻을 수있을 것입니다.

-2

내부 조각의 경우 getChildFragmentManager()를 사용하십시오.


+5

그리고 대답은 어디에 있습니까? – Lingviston