Confundido por la navegación ActionBar UP

Estoy intentando implementar la navegación ActionBar UP basada en las directrices de diseño de Android ( http://developer.android.com/design/patterns/navigation.html ).

Para la mayoría de los casos de uso, es trivial, pero supongamos que tengo una actividad llamada Activity2A, que se puede llegar a mi en 2 caminos distintos:

MainActivity -> Actividad1A -> Actividad2A

MainActivity -> Actividad1B -> Actividad2A

El padre lógico de Activity2A es Activity1A, por lo que debe iniciarse en la navegación UP desde Activity2A. He establecido esto en el manifiesto basado en el tutorial oficial:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.Sherlock.Light" > <!-- Main menu --> <activity android:name="hu.scythe.upnavigation.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- Level 1 --> <activity android:name="hu.scythe.upnavigation.Activity1A" android:label="@string/title_activity_activity1" android:parentActivityName="hu.scythe.upnavigation.MainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="hu.scythe.upnavigation.MainActivity" /> </activity> <activity android:name="hu.scythe.upnavigation.Activity1B" android:label="@string/title_activity_activity1_b" android:parentActivityName="hu.scythe.upnavigation.MainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="hu.scythe.upnavigation.MainActivity" /> </activity> <!-- Level 2 --> <activity android:name="hu.scythe.upnavigation.Activity2A" android:label="@string/title_activity_activity2" android:parentActivityName="hu.scythe.upnavigation.Activity1A" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="hu.scythe.upnavigation.Activity1A" /> </activity> </application> 

Estoy usando el siguiente código en Activity2A para la navegación:

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: Intent upIntent = NavUtils.getParentActivityIntent(this); if (NavUtils.shouldUpRecreateTask(this, upIntent)) { // This activity is NOT part of this app's task, so create a new // task // when navigating up, with a synthesized back stack. TaskStackBuilder.create(this) // Add all of this activity's parents to the back stack .addNextIntentWithParentStack(upIntent) // Navigate up to the closest parent .startActivities(); } else { // This activity is part of this app's task, so simply // navigate up to the logical parent activity. NavUtils.navigateUpTo(this, upIntent); } return true; } return super.onOptionsItemSelected(item); } 

Está funcionando bien si navego a Activity2A en la primera ruta (por lo que es lógico padre está en la pila de actividad ya). Pero al usar la segunda ruta, al hacer clic en el botón ARRIBA me lleva a MainActivity (la raíz), no a Activity1A (el padre lógico). Estoy probando este código en Android 4.2.

¿Qué estoy haciendo mal?

  • ERROR: problemas de procesamiento No se encontraron las clases siguientes android.support.v7.internal.widget.ActionBarOverlayLayout
  • FragmentTransation setCustomAnimations no funciona
  • Renunciar a la biblioteca de soporte v7. ¿Qué mal?
  • Actualizar la biblioteca de soporte 23.2.0 generar error
  • Soporte de transición de fragmentos 25.1.0 con Recyclerview
  • La biblioteca de soporte de Android v4 y la API de Google Maps rompen la compilación
  • Práctica recomendada para guardar Fragmentos para su posterior visualización
  • Android: obtener recursos $ NotFoundException para abc_ic_ab_back_material
  • NoSuchMethodError getChildFragmentManager ()
  • Android ¿Cuál es la diferencia entre Android Support Repository vs Android Support Library vs Repositorio de Google vs Google Play Services
  • Cómo deshabilitar la animación de etiqueta flotante al rellenar los campos EditText envueltos en TextInputLayout
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.