Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Cómo agregar una acción hacia arriba

Tu app debería permitir que los usuarios regresen fácilmente a la pantalla principal. Una forma sencilla de hacerlo es proporcionar un botón Arriba en la barra de la app para todas las actividades, excepto la principal. Cuando el usuario selecciona el botón Arriba, la app navega a la actividad superior.

En esta lección, se muestra cómo agregar un botón Arriba a una actividad declarando el elemento superior de la actividad en el manifiesto y habilitando el botón Arriba de la barra de la app.

El componente de arquitectura de navegación, actualmente en versión Alfa, es otro método para manejar la navegación en tu app. La API puede manejar la navegación hacia arriba desde la pantalla actual en tu app cuando el usuario hace clic en el botón hacia arriba. Para obtener más información, consulta El componente de la arquitectura de navegación.

Cómo declarar una actividad superior

Para admitir la funcionalidad hacia arriba de una actividad, debes declarar el elemento superior de la actividad. Puedes hacerlo en el manifiesto de la app si configuras un atributo android:parentActivityName.

El atributo android:parentActivityName se introdujo en Android 4.1 (nivel de API 16). Para admitir dispositivos con versiones anteriores de Android, define un par nombre-valor <meta-data>, en el que el nombre es "android.support.PARENT_ACTIVITY" y el valor es el nombre de la actividad superior.

Por ejemplo, supongamos que tu app tiene una actividad principal llamada MainActivity y una sola actividad secundaria. En el siguiente código de manifiesto, se declaran ambas actividades y se especifica la relación superior/secundaria:

    <application ... >
        ...

        <!-- The main/home activity (it has no parent activity) -->

        <activity
            android:name="com.example.myfirstapp.MainActivity" ...>
            ...
        </activity>

        <!-- A child of the main activity -->
        <activity
            android:name="com.example.myfirstapp.MyChildActivity"
            android:label="@string/title_activity_child"
            android:parentActivityName="com.example.myfirstapp.MainActivity" >

            <!-- Parent activity meta-data to support 4.0 and lower -->
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.myfirstapp.MainActivity" />
        </activity>
    </application>
    

Cómo habilitar el botón Arriba

Para habilitar el botón Arriba en una actividad que tiene una actividad superior, llama al método setDisplayHomeAsUpEnabled() de la barra de la app. Por lo general, se hace cuando se crea la actividad. Por ejemplo, el siguiente método onCreate() establece un Toolbar como la barra de la app para MyChildActivity y, luego, habilita el botón Arriba de esa barra:

Kotlin

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my_child)

        // my_child_toolbar is defined in the layout file
        setSupportActionBar(findViewById(R.id.my_child_toolbar))

        // Get a support ActionBar corresponding to this toolbar and enable the Up button
        supportActionBar?.setDisplayHomeAsUpEnabled(true)
    }
    

Java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_child);

        // my_child_toolbar is defined in the layout file
        Toolbar myChildToolbar =
            (Toolbar) findViewById(R.id.my_child_toolbar);
        setSupportActionBar(myChildToolbar);

        // Get a support ActionBar corresponding to this toolbar
        ActionBar ab = getSupportActionBar();

        // Enable the Up button
        ab.setDisplayHomeAsUpEnabled(true);
    }
    

No necesitas detectar la acción en el método onOptionsItemSelected() de la actividad. En cambio, ese método debería llamar a su superclase, como se muestra en Cómo responder a acciones. El método de la superclase responde a la selección Arriba navegando a la actividad superior, como se especifica en el manifiesto de la app.