2012-05-10 13 views
7

Sto provando ad implementare la barra delle azioni di Android nella modalità di navigazione elenco, cambia con successo i frammenti quando un elemento viene selezionato dall'elenco, ma i frammenti si sovrappongono e posso vedere il contenuto di quello precedente ancora sullo schermo quando è selezionato il secondo. Ecco il mio codice per la propria attività OnCreate e OnNavigationItemSelected:ActionBar Navigation Navigazione frammenti sovrapposti

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

Grazie in anticipo!

risposta

Problemi correlati