层级导航就是指工具栏中的向上箭头。
修改AndroidManifest.xml,就可以指定当前Activity的上一级,例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="stark.a.is.zhang.criminalintentapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
<activity
android:name=".activity.CrimeListActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".activity.CrimePagerActivity"
android:label="@string/app_name"
<!--指定CrimePagerActivity的上一级为CrimeListActivity-->
<!--因此,在CrimePagerActivity中点击向上箭头,将返回到CrimeListActivity-->
android:parentActivityName=".activity.CrimeListActivity">
</activity>
</application>
</manifest>
点击向上箭头,实际上是创建一个带有clear_top标志的Intent,拉起AndroidManifest.xml中指定的parentActivity,类似于如下代码:
Intent intent = new Intent(this, CrimeListActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
利用层级导航回到父Activity时,父Activity将被完全重新创建,其生命周期从onCreate重新开始。