我跟着https://developer.android.com/training/appbar/up-action.html为应用栏添加了一个向上按钮。
我的清单是
<activity
android:name=".activity.MyDiaryAct"
android:label="@string/title_activity_my_diary"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.PageListAct"
android:label="@string/title_page_list"
android:theme="@style/AppTheme.NoActionBar"
android:parentActivityName=".activity.MyDiaryAct">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="activity.MyDiaryAct" />
</activity>
<activity
android:name=".activity.PageAct"
android:label="@string/title_page_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:parentActivityName=".activity.PageListAct" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="activity.PageListAct" />
</activity>
我从MyDiaryAct启动了PageAct并点击了向上按钮。它返回myDiaryAct但我期待PageListAct。
我在PageAct的代码
android.support.v7.app.ActionBar ab = getSupportActionBar();
ab.setTitle(page.getName());
ab.setDisplayHomeAsUpEnabled(true);
我错过了什么?我希望不在onOptionsItemSelected()中添加代码。谢谢!
PS:我正在使用targetSdkVersion 23.
更新:虽然可能的重复帖子提供了解决我的问题的有用信息和方向,但在此处找到了完整的理解和解决方案。 https://developer.android.com/training/implementing-navigation/ancestral.html
简而言之,父母必须支持其他我需要手动创建它。