2012-05-04 5 views
11

Lorsque j'appuie sur le bouton d'accueil, il ne revient pas comme je pense que ce serait le cas.Actionbarsherlock retour bouton ne retourne pas

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

} 

J'ai aussi essayé de l'attraper avec cette méthode

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

mais cela ne fonctionne pas, je l'ai fait entrer dans cette méthode, mais l'identifiant est pas le même id comme R.id.abs__home . Alors, comment puis-je faire fonctionner cela?

L'émulateur que j'utilise a la version android 2.3.1. Pour le reste, tout fonctionne depuis le actionbarsherlock comme prévu.

Le bloc bleu est le bouton sur lequel je clique, et en cliquant dessus, je veux revenir en arrière.

Répondre

43

Utilisez android.R.id.home pour détecter l'affordance de la maison, et non R.id.abs__home. Par exemple, à partir this sample project, en utilisant 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

essayé, mais il n'a pas aidé, mais grâce à l'effort. – mariomario

+0

@mariomario: Ca marche pour moi. Voir la mise à jour – CommonsWare

+0

okay je l'ai maintenant, maintenant je dois seulement l'envoyer à l'action précédente. Donc merci. – mariomario

Questions connexes