ActionBar列表导航重叠片段

use*_*981 7 android android-fragments android-actionbar

我正在尝试在列表导航模式下实现Android Action Bar,它在从列表中选择项目时成功更改了片段,但片段重叠,我可以看到前一个片段的内容仍然在屏幕上,当第二个是选择.这是Activity的OnCreate和OnNavigationItemSelected的代码:

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    mFirstFragment = new FirstFragment();
    mSecondFragment = new SecondFragment();

    SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(
            this, 
            R.array.action_list, 
            android.R.layout.simple_spinner_dropdown_item);

    mActionBar = getActionBar();
    mActionBar.setDisplayShowTitleEnabled(false);
    mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    mActionBar.setListNavigationCallbacks(mSpinnerAdapter, this);

    if(savedInstanceState != null) {
        mActionBar.setSelectedNavigationItem(
                savedInstanceState.getInt("currFragment"));
    }
}

public boolean onNavigationItemSelected(int position, long itemId) {
    FragmentTransaction mFragmentTransaction = 
            getFragmentManager().beginTransaction();

    switch(position) {
        case FIRST_FRAGMENT:
            mFragmentTransaction.replace(
                    android.R.id.content, 
                    mFirstFragment);
            break;
        case SECOND_FRAGMENT:
            mFragmentTransaction.replace(
                    android.R.id.content, 
                    mSecondFragment);
            break;
    }
    mFragmentTransaction.commit();

    return true;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Ngu*_*aga 1

我也有同样的问题。Actionbar 选项卡的 FragmentTransaction .attach 和 .detach中接受的答案对我有用。您还可以从Android Action Bar Tab 中获得很好的指导,其中滚动视图在方向更改后制作了重复的视图(尽管对我有用的关键见解来自我链接到的第一个问题)。