0

我跟着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

简而言之,父母必须在后面,否则我需要手动创建它。

4

0 回答 0