私の主な活動では、 のアクションバーがありNAVIGATION_MODE_TABS
ます。各タブの内容はリストフラグメントです。
リスト項目をクリックすると、新しいフラグメントが表示され、アクションバー モードがNAVIGATION_MODE_STANDARD
(タブが非表示になるように) 変更されるようにしたいと思います。
私はこれを次のコードで動作させることができました:
listitemclick メソッドで:
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();
Log.i("FragmentList", "Item clicked: " + id);
問題は、戻るボタンを押したときに、タブがまだ消えていて、前のフラグメントが表示されないことです。
私は何か間違ったことをしていますか..フラグメントのバックスタックと関係がありますか? 別の方法で処理する必要がありますか、それともバックプレスをオーバーライドする必要がありますか?
- 編集 -
わかりやすくするために、fragmenttransaction.replace を呼び出すときに addToBackStack を呼び出していますが、戻るボタンを押しても前のフラグメントは復元されません。