2012-05-10 19 views
7

Ich versuche, die Android-Aktionsleiste im Listennavigationsmodus zu implementieren, es ändert erfolgreich Fragmente, wenn ein Element aus der Liste ausgewählt wird, aber die Fragmente überlappen und ich kann den Inhalt des vorherigen sehen immer noch auf dem Bildschirm, wenn die zweite ausgewählt ist. Hier ist mein Code für die Tätigkeit der OnCreate und OnNavigationItemSelected:ActionBar List Navigation Overlapping Fragmente

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

Vielen Dank im Voraus!

Antwort

Verwandte Themen