2012-08-16 15 views
12

enter image description hereAndroid Sherlock Barra de acciones Hasta botón

cerca de la secuencia hay una pequeña flecha que u necesita para la actividad anterior cuando se hace clic

Quiero hacer lo mismo en mi aplicación, solía

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

¿Necesito usar onOptionsItemSelected?

Aparece la flecha, pero no ocurre nada una vez que se hace clic.

Y tengo dos artículos en mi menú, que aparecen en todas partes donde me llamo OnCreateOptionsMenu

este es mi código del artículo donde quiero que aparezcan sólo en mi última actividad, ¿Cómo?

 <item 
android:id="@+id/bAbout" 
android:title="About" 
android:showAsAction="always"/> 
+3

Como un aparte el botón "arriba" no se supone que, necesariamente, lo lleve a la actividad anterior (eso es lo que hace el botón de retroceso exclusivamente, aunque a menudo arriba y atrás hacen lo mismo) pero a un nivel superior en la jerarquía conceptual de tu aplicación. Se explica completamente aquí: http://developer.android.com/design/patterns/navigation.html#up-vs-back –

Respuesta

24

Sí, tienes que implementar onOptionsItemSelected(). La identificación de ese botón es android.R.id.home

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 

    case android.R.id.home: 
     // Do whatever you want, e.g. finish() 
     break; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

y tengo dos artículos en mi menú, que aparecen en todas partes donde me llamo OnCreateOptionsMenu

No estoy seguro de cuál es el problema aquí es. Por supuesto, solo debe implementar onCreateOptionsMenu() e inflar ese recurso de menú donde lo desee. Eliminar onCreateOptionsMenu() para todas las actividades que no se supone que tienen estas opciones debería funcionar.

+0

gracias Alextsc =), ¡Aceptado! –

Cuestiones relacionadas