그래서 호환성 라이브러리가있는 태블릿 앱을 만들고 이상하게 들릴 것 같아요. 하나의 활동으로 모두 탭 (탭 A 및 탭 B) 2 개와 조각 3 개 (조각 A1, A2 및 B)가 있습니다. 탭 A와 연관된 ActionBar.TabListener는 조각 A1 및 A2의 추가 및 제거를 처리하고 TabB와 연관된 ActionBar.TabListener는 TabB의 추가 및 제거를 처리합니다.Android FragmentTransaction, ActionBar Tabs 및 Multiple Fragments
활동을 시작하면 이상한 행동이 나타나기 때문에 (탭 A가 선택되고 A1과 A2 단편이 왼쪽에서 오른쪽으로 올바르게 표시됩니다) 탭 B를 클릭하십시오 (단편 A1과 A2가 제거되고 단편 B는 표시된 그대로, 여전히 올바르게) 탭 A를 다시 클릭하십시오! 이제 조각 A1과 A2가 표시되지만 순서는 반대로 : A2와 A1!
이 이상한 사람이 있습니까? 탭 B를 선택한 다음 탭 A를 다시 선택하면 순서가 바뀌고 사이클이 계속됩니다. this article에 따르면 "동일한 컨테이너에 여러 조각을 추가하는 경우 추가 순서에 따라보기 계층에 표시되는 순서가 결정됩니다"라고 이상하게 여기는 경우는 아닙니다.
아이디어가 있으십니까? 미리 감사드립니다!
흠, 좋은 생각입니다. 그리고 나서 하나의 Fragment 만 표시하려면 두 번째 FrameLayout을 숨 깁니다 (가중치를 0으로 설정)! 최대한 빨리이 프로젝트를 시도해야 할 것입니다. 문서가 말하는 것에 기대를 걸지 않는 이유는 무엇입니까? 단순히 버그가 있거나 FragmentTransactions가 작동하는 방식에 대해 실제로 논리적 인 무언가가 있다고 생각합니까? –
@Shep Shapard : "문서가 말하는 것에 기대를 걸지 않는 이유는 무엇입니까?" - 내가 본 샘플 코드는 따옴표로 묶은 명령문에 의존하지 않기 때문에. 저쪽에, 그것은 단지 직감이다. – CommonsWare
예 ... "최첨단"작업은 문서화되지 않은 기이함을 왼쪽에서 오른쪽으로 처리하기 때문에 매우 짜증나게합니다. 그건 그렇고, 당신의 솔루션이 효과가! 감사! –