3

앱 FrameLayout이 용기 정합 부모 단편 활성을 갖는다. 이용자 파편 UI 상호 작용들이 같은 가기 backstack에 오래두고 서로 대체 : A -> B -> C -> D -> E -> F잘못된 대체 단편 뷰

사용자가 전화 방향을 변경, 예를 들면, 조각 E에 가려면 조각 A의보기가 표시되고 사용자가이 조각 A (보통 조각 B로 이동)에서 무언가를 누르면 조각 F의보기가 표시됩니다.

어떻게 조각 E 및 화면 방향 변경 후 아니를 보여?

앱은 최신 안드로이드 지원 라이브러리를 사용하고이 안드로이드 4.1 에뮬레이터와 안드로이드 2.3 전화 (다른 안드로이드 버전을 테스트하지)에 발생합니다. 단편 D에 화면을 회전 할 때 모든 회전이 정상적으로 진행하고 회전하는 경우 이후 단편 D. 문제의 뷰를 나타내며,

public final void showNextFragment(final Fragment frg, final String tag) { 
    final FragmentTransaction tr = getFragmentManager().beginTransaction(); 
    tr.remove(this); 
    tr.add(R.id.fragment_container, frg, tag); 
    tr.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); 
    tr.addToBackStack(tag); 
    tr.commit(); 
} 

편집

:

모든 단편이 가서 다음 단편 방법이 사용자 하지 전화 조각 E 정상적으로 표시 회전하면, 사용자가 전술 한 방법을 이용하여 단편 E로 진행 단편 A의 뷰 대신 E.으로 나타낸다.

답변

-1

하나의 해결책은 정적 변수로서 현재 태그 또는 단편을 유지하는 것이다.

그렇지 않으면, 당신은 화면 방향에 다시 가고 싶어? 그렇지 않다면 매니페스트에 다음을 추가해야합니다.

<activity android:configChanges="keyboardHidden|orientation" ... 
+0

대답을 통해 화면 회전 동작을 확인할 수있었습니다. 그리고 문제는 그 활동 readd 첫 번째 단편 onCreate(), 그래서 내가 확인한 savedInstanceState는 null입니다. – tapchicoma