タブナビゲーション付きのアクションバー(actionbarsherlock)があり、アクションアイテムもいくつかあります。アクションアイテムの1つにListFragmentが表示され、次のように呼びます。
case R.id.menuitem_info:
// Create new fragment and transaction
SherlockListFragment aboutListFragment = new AboutListFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
ft.replace(R.id.root, aboutListFragment);
ft.addToBackStack(null);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
// Commit the transaction
ft.commit();
return true;
私の問題は、戻るボタンを押すと、IllegalArgumentExceptionが発生することです。ビューからフラグメントを削除して前のビューを表示する方法がわかりませんか?
これが私のホームボタンコードです:
case android.R.id.home:
FragmentManager fm = getSupportFragmentManager();
if (fm.getBackStackEntryCount() > 0) {
fm.popBackStack();
}
return true;
任意の提案をいただければ幸いです!