我有一个带标签导航的操作栏(actionbarsherlock),我也有一些操作项。我的一个操作项显示了一个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;
任何建议都将不胜感激!
答案 0 :(得分:3)
我在android.R.id.home中执行了以下操作:
case android.R.id.home:
FragmentManager fm = getSupportFragmentManager();
if(fm.getBackStackEntryCount()>0){
onBackPressed();
}
return true;
我希望这对你有帮助,对我来说就像魅力一样