2012-10-02 48 views
14

Tengo ViewPager con Fragment s. Cuando se hace clic en un botón en el Fragment, lanzo un Activity en el mío. Al presionar el botón Atrás en mi teléfono cuando estoy en el Activity, me lleva de vuelta a mi pantalla anterior, es decir, la que tiene el Fragment en el ViewPager.¿Cómo puedo hacer que el botón "Arriba" de mi ActionBar funcione como el botón "Atrás" del teléfono?

me gustaría para activar el botón "arriba" en mi ActionBar y con el fin de hacerlo, he escrito el siguiente código:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.detail); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
} 

Ahora el "arriba" se muestra el botón, pero hacer clic en él no me lleva de vuelta a la pantalla anterior. Me gustaría que el botón "arriba" sea lo mismo que el botón "atrás".

¿Cómo puedo hacer esto? ¿Qué estoy haciendo mal?

Gracias.

+1

no debería utilizar el botón arriba como un botón de retroceso. El objetivo del botón Arriba es subir y no retroceder. Debería considerar usarlo como debería. http://developer.android.com/guide/topics/ui/actionbar.html#Up –

Respuesta

48

También hay que poner en práctica lo que se debe hacer cuando se hace clic en el botón de arriba:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case android.R.id.home: 
      onBackPressed(); 
      return true; 
     } 

    return super.onOptionsItemSelected(item); 
} 
+2

Este es el problema que tuve. Esperaba que el botón se conectara automáticamente, pero cuando se hizo clic, no pasó nada. Después de anular onOptionItemSelected() con el código anterior, funcionó como un campeón. ¡Gracias! – proudgeekdad

Cuestiones relacionadas