5

작업 표시 줄 및 작업 표시 줄 탭이있는 작업이 있습니다. 탭 내용에서 항목을 선택하면 현재 조각을 새 문장으로 바꾸고 트랜잭션을 다시 스택에 추가하고 탭을 숨기려고합니다.숨기기 동작 내비게이션 모드를 사용하는 바 탭이 조각 백스 트록에 악영향을 미침

작업 표시 줄 탐색 모드를 표준으로 변경하여 탭을 숨 깁니다.

문제는 뒤로 버튼을 누르면 (표준 모드에서) 작업 표시 줄만으로 빈보기가 표시된다는 것입니다. 조각 트랜잭션이 취소 된 것처럼 보입니다. 나는 표준 탐색 모드를 변경하여 탭을 숨기지 않는 경우, 트랜잭션 반전은 잘 작동

..

나는 다시 탭에 대한 탐색 모드를 변경하려면 다시 눌러을 무시하려하지만, 한 작동하지 않습니다.

누군가가 어떻게 달성 할 수 있는지 말해 줄 수 있습니까? 여기

는 탭이 숨겨져 얻을 코드이며 조각 트랜잭션이 발생 :

명확성을 위해
 ActionBar actionBar = getActivity().getActionBar(); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 

     Fragment albumListFragment = new AlbumListFragment(); 
     albumListFragment.setArguments(bundle); 
     FragmentTransaction ft = getFragmentManager().beginTransaction(); 

     ft.replace(android.R.id.content, albumListFragment); 
     ft.addToBackStack(null); 

     // Commit the transaction 
     ft.commit(); 

:이 트랜잭션이 커밋 된 후에 다시 누르면, 탭이보기에 돌아올 것이라고 기대 이전 조각으로 다시 누르면 나중에 탭이나 조각이 표시되지 않습니다.

답변

8

이 질문이 아직 관련이 있는지는 모르겠지만 조각 전환 후 탭을 숨기는 것이 좋을 것 같습니다.

내 ListFragment에서 코드에서 수행하는 것과 매우 유사한 표준 조각 전환을 수행합니다. 내 세부 조각에서

그러나, 나는에서 onCreate 방법에있는 작업 표시 줄 숨기기 :

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    ActionBar actionBar = getActivity().getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 

} 

을 내 onPause 메서드에서 다시 보여

public void onPause() { 

    super.onPause(); 

    ActionBar actionBar = getActivity().getActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

}