如何设置使用android后退按钮的多个父活动

如何设置使用android后退按钮的多个父活动,android,navigation,parent-child,Android,Navigation,Parent Child,我有一个应用程序,它从不同的活动中多次调用一个活动。 因此,我尝试在这个活动的操作栏中实现“后退按钮”。 为此,我使用: switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; default: return super.onOptionsItemSelected

我有一个应用程序,它从不同的活动中多次调用一个活动。 因此,我尝试在这个活动的操作栏中实现“后退按钮”。 为此,我使用:

 switch (item.getItemId()) {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    default:        
         return super.onOptionsItemSelected(item);
    }
以及:


现在的问题是,我无法将父活动设置为我的android清单,因为我不知道谁是此活动的父活动

解决办法是什么


谢谢,这比你想象的要容易

switch (item.getItemId()) {
    case android.R.id.home:
        finish();
        return true;
    default:        
         return super.onOptionsItemSelected(item);
}
方法
finish()
将销毁您的活动并显示启动它的活动。如果我没弄错的话,那就是你想要的

您当前的解决方案适用于您每次都想回到同一位家长的情况,例如Gmail应用程序。当您打开通知中的电子邮件,然后按actionbar后退按钮时,它不会导航回主屏幕,但会显示您的Gmail收件箱

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == android.R.id.home) {
        onBackPressed();
        return  true;
    }
    return super.onOptionsItemSelected(item);

}
您将始终返回启动新活动的活动

不需要使用下面的代码

<meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="view.TweetsIndividuoActivity" />

我也是Android的新手,但我通过使用“startActivityForResult(intent,1)”而不是“startActivity(intent)”调用第二个活动解决了这个问题。我认为这使它成为父母/孩子的关系,而不是兄弟姐妹的活动


我不需要使用onOptions ItemSelected()或finish()。

谢谢!但如果这种方式有效,我不明白为什么要使用:NavUtils.navigateUpFromSameTask(this);这是为了我在回答的最后一部分所写的。活动正在任务中运行。如果打开属于其他任务的活动,则必须选择以下选项:1。回到以前可见的活动;后退按钮就是这样做的。返回到当前任务的上一个活动。请阅读详细解释。我被一个使用闪亮的Google Util(NavUtils.navigateUpFromSameTask(这个);)的人赶上了。。。
<meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="view.TweetsIndividuoActivity" />