首页 > 解决方案 > 无法从 Android App 中的菜单打开的子活动返回父活动

问题描述

    manifest:
        <activity
            android:name=".SettingsActivity"
            android:parentActivityName="com.boropost.app.MainActivity" />
        <activity
            android:name=".FindActivity"
            android:parentActivityName="com.boropost.app.MainActivity" />
   menu:
    <item
        android:id="@+id/action_settings"
        app:showAsAction="never"/>
    <item
        android:id="@+id/action_find"
        app:showAsAction="always"/>

就我而言,子 SettingsActivity 是通过操作栏上未显示的菜单项打开的。单击后退按钮不会返回到父 MainActivity。MainActivity 中的 onActivityCreated 也没有被触发,但是通过操作栏上显示的菜单项打开的子 FindActivity 没有这个问题。

标签: android-activitymenureturnparent

解决方案


请在 onCrate() 方法上添加以下行

 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);

并在您的孩子 SettingsActivity 中添加以下方法

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
               finish();
                break;
        }
        return true;
    }

推荐阅读