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から、私はあなたのコードでそれをやっているのと非常によく似た標準的なフラグメントトランジションを行います。

@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); 

} 
を私の詳細フラグメントで

は、しかし、私はのonCreateメソッドでアクションバーを非表示します

関連する問題