1

我有一个带有标签导航的操作栏(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;

任何建议,将不胜感激!

4

1 回答 1

3

在 android.R.id.home 的情况下,我做了以下操作:



    case android.R.id.home:
        FragmentManager fm = getSupportFragmentManager();
        if(fm.getBackStackEntryCount()>0){
            onBackPressed();
        }
        return true;

我希望这对你有所帮助,因为我的作品就像一个魅力

于 2012-07-25T09:58:23.067 回答