Android onBackPressed()到父活动

Android onBackPressed()到父活动,android,android-activity,parent-child,parent,Android,Android Activity,Parent Child,Parent,我有一个有很多活动的应用程序。在“活动”中,我想在按下“上一步”按钮时返回到父活动。(上一个活动和父活动不同)。我如何使用onBackPressed进行此操作? 感谢您的帮助。请查看文档。他们要说的是: 要在用户按下应用程序图标时向上导航,可以使用NavUtils类的静态方法navigateUpFromSameTask()。调用此方法时,它将完成当前活动并启动(或恢复)相应的父活动。如果目标父活动位于任务的后堆栈中,则会将其提前。它的前进方式取决于父活动是否能够处理onNewIntent()调用

我有一个有很多活动的应用程序。在“活动”中,我想在按下“上一步”按钮时返回到父活动。(上一个活动和父活动不同)。我如何使用onBackPressed进行此操作? 感谢您的帮助。

请查看文档。他们要说的是:

要在用户按下应用程序图标时向上导航,可以使用NavUtils类的静态方法navigateUpFromSameTask()。调用此方法时,它将完成当前活动并启动(或恢复)相应的父活动。如果目标父活动位于任务的后堆栈中,则会将其提前。它的前进方式取决于父活动是否能够处理onNewIntent()调用:

如果父活动具有启动模式,或者up intent包含标志\u activity\u CLEAR\u TOP,则父活动将被带到堆栈顶部,并通过其onNewIntent()方法接收该intent

如果父活动具有启动模式,并且up intent不包含FLAG_activity_CLEAR_TOP,则会从堆栈中弹出父活动,并在堆栈顶部创建该活动的新实例以接收该意图

编辑:

首先将父活动添加到清单:

<!-- A child of the main activity -->
<activity
    android:name="com.example.myfirstapp.DisplayMessageActivity"
    android:label="@string/title_activity_display_message"
    android:parentActivityName="com.example.myfirstapp.MainActivity" >
    <!-- Parent activity meta-data to support 4.0 and lower -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.myfirstapp.MainActivity" />
</activity>


然后调用
NavUtils.navigateUpFromSameTask(this)您必须重写onBackpressed()方法,并在清单文件中添加父活动元数据。以下是如何实现这一点:

在清单文件中添加以下两行

    <activity android:name=".activities.ChildActivity">
     <meta-data
       android:name="android.support.PARENT_ACTIVITY"
       android:value=".activities.MainActivity"/>
    </activity>

经过大量的挖掘,我找到了解决办法

@Override
public boolean onSupportNavigateUp() {
     Log.v("back","pressed");
     return super.onSupportNavigateUp();
}

每次按下默认支持操作栏上的“上一步”按钮时,都会触发该代码。

已编辑以添加代码,但文档中包含您需要的所有代码
@Override
public boolean onSupportNavigateUp() {
     Log.v("back","pressed");
     return super.onSupportNavigateUp();
}