2012-05-10 194 views
7

我試圖在列表導航模式下實現Android Action Bar,它在從列表中選擇一個項目時成功更改片段,但片段重疊,並且可以看到前一個片段的內容當第二個被選中時仍然在屏幕上。這裏是我的代碼活動的OnCreate和OnNavigationItemSelected:ActionBar List Navigation重疊片段

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; 
} 

在此先感謝!

回答