2012-01-16 16 views
20

Cómo manejar el botón "Arriba" (SDK versión 11+)? Me refiero al que está en la parte superior de la pantalla, que contiene el ícono de la aplicación.¿Cómo manejar el botón "Arriba"?

En los artículos de Android Design fue nombrado como "Botón de subida", pero no lo encontré (o similar) en los campos de KeyEvent.

Respuesta

54

Implementar onOptionsItemSelected() y el reloj para android.R.id.home eventos "menú", tal como se describe en the documentation.

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

    return(super.onOptionsItemSelected(item)); 
} 
+1

Hola, tengo el mismo problema. ¿Pero sabes cómo obtener la pequeña flecha? Abrí una nueva actividad con la barra de acciones y quiero usar este "botón de arriba" para volver a la pantalla principal. Para SearchView, cambia automáticamente el botón al que tiene la pequeña flecha, pero ¿cómo? – Informatic0re

+4

@Mirko: Si te estás refiriendo a lo que creo que te refieres, prueba 'setHomeAsUpEnabled (true)', llamado en tu 'ActionBar'. – CommonsWare

+0

big thx! eso era lo que estaba buscando. – Informatic0re

0

En primer lugar cambiar el archivo AndroidManifest.xml tener una actividad declarada de los padres. Por ejemplo,

<activity android:name=".theory" 
       android:parentActivityName=".MainActivity" 
     android:label="@string/theory" 
     /> 
    <activity android:name=".experimental" 
       android:parentActivityName=".MainActivity" 
     android:label="@string/exp" 
     /> 

Haga esto para todas las actividades que no sean la actividad principal. Nota el código XML parentActivityName

A continuación, vaya a los respectivos archivos java y añadir el siguiente código

ActionBar ab = getSupportActionBar(); 
    ab.setDisplayHomeAsUpEnabled(true); 

Usted tiene hasta ahora botón habilitado.

Cuestiones relacionadas