2012-02-16 3 views
2

다음 아키텍처를 사용하는 앱이 있습니다.다른 Android Fragments에는 일반적인 백 스택이 있습니까?

Fragment을 포함하는 FragmentActivity이 있습니다. 이 단편은 거기에 4 개의 탭이있는 TabHost을 포함합니다. 각 탭에는 자체 레이아웃이 있습니다. 그리고 나는 새로운 단편을 만들어서이 단서에 묶어 놓습니다. 음, 마침내 4 조각이 있습니다.

각 조각은 자식으로 새로운 조각을 시작할 수 있습니다. 각 조각에는 자체 백 스택이 있다고 생각했습니다. 그러나 그렇지 않은 것처럼 보입니다. 이러한 단편에 대한 일반적인 백스 타일처럼 보입니다.

첫 번째 탭을 선택하고 거기에서 새 하위 조각을 시작한 다음 두 번째 탭을 선택하고 거기에서 새 하위 조각을 시작한 다음 첫 번째 탭으로 돌아가서 뒤로 단추를 눌러 하위 조각을 삭제합니다. SECOND 탭에서 시작하지만 첫 번째 탭에서는 시작되지 않습니다. 뒤로 버튼을 한 번 더 누르면 첫 번째 탭에서 하위 조각이 성공적으로 삭제됩니다.

글쎄, 나는 Separate Back Stack for each tab in Android using Fragments

누군가가 FragmentActivity 이러한 4 개 조각의 각을 감싸는 제공 여기에 같은 문제의 어떤 종류를 찾았지만, 나는 내 모든 코드를 리팩토링 너무 많은 시간이 걸릴 것을 두려워. 프로젝트가 곧 끝나기 때문에 대규모 리팩토링에 많은 시간을 할애 할 필요가 없습니다.

누군가 내 문제에 대해 더 나은 해결책을 제공 할 수 있습니까?

드미트리

답변

2

그것은 조각을 포함 FragmentActivity 있습니다. 이 단편에는 4 개의 탭이있는 TabHost가 들어 있습니다. 각 탭에는 자체 레이아웃이 있습니다. 그리고 나는 새로운 단편을 만들어서이 단서에 묶어 놓습니다. 음, 마침내 4 조각이 있습니다.

구조

이렇게 했어야 :

Activity 4 FragmentActivities (각각의 탭에 대해 하나)를 포함하는 TabHost 호스팅. 각 FragmentActivity에는 자체 백 스택이 있습니다. 이렇게하면 원하는 결과를 얻을 수 있습니다.

시도해 본적이 없다면 FragmentTabsPager을보고 필요할 때 볼 수 있습니다. 이렇게하면 사용자 환경도 개선됩니다.

Fragments에서 Activities 및 Vice-Versa로 물건을 이동하려는 경우 리팩토링에 시간이 많이 걸리지 않아야합니다.

행운을 빈다.

+0

어떻게 TabHost 호스트 4 FragmentActivities 수 있습니다. 표시 한 예에서 각 FragmentActivity에는 Fragment 내부 클래스가 있으며 이는 TabHost에 삽입 된 것입니다. 나는 그들이 다른 백 스택을 사용하고 있다고 생각하지 않지만 오히려 백 백을 사용한다고 생각합니다. 이 올바른지? – ffleandro

관련 문제