2012-05-04 31 views
11

Quando si preme il pulsante home, non torna indietro come penso che farebbe.Il pulsante indietro di Actionbarsherlock non torna indietro

public class TotalOverview extends SherlockActivity { 

public void onCreate(Bundle savedInstanceState) { 
    setTheme(R.style.Theme_Sherlock);  
    super.onCreate(savedInstanceState);   
    //requestWindowFeature(Window.FEATURE_PROGRESS); 

    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 
    setContentView(R.layout.main); 
    //getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 

} 

Ho anche provato la cattura con questo metodo

public boolean onOptionsItemSelected(MenuItem item) 
{ 
    boolean toReturn = false; 
    int id = item.getItemId(); 
    if(id == R.id.abs__home) 
    { 
     toReturn = true; 
    } 
    return toReturn; 
} 

ma che non ha funzionato ho fatto entrare in questo metodo, ma l'ID non è lo stesso ID come il R.id.abs__home . Quindi, come posso farlo funzionare.

L'emulatore che sto utilizzando ha Android versione 2.3.1. Per il resto tutto da actionbarsherlock funziona come previsto.

Il blocco blu è il pulsante su cui clic e con il clic che voglio tornare indietro. enter image description here

risposta

43

Utilizzare android.R.id.home per rilevare l'offerta di casa, non R.id.abs__home. Ad esempio, dal this sample project, usando ABS 4.0.2:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
     pager.setCurrentItem(0, false); 
     return(true); 

    // more code here for other cases 
    } 
+2

provato, ma non ha aiutato, ma grazie per lo sforzo. – mariomario

+0

@mariomario: Funziona per me. Vedi risposta aggiornata. – CommonsWare

+0

ok ora capisco, ora devo solo inviarlo all'azione precedente. Quindi grazie. – mariomario

Problemi correlati