我跟着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
简而言之,父母必须在后面,否则我需要手动创建它。