ActionBar向上导航不创建父级

时间:2013-12-11 16:00:55

标签: android android-actionbar android-navigation

我有这个实际的导航树:

  

A => B => ç

根据配置B可以跳过,导航变为:

  

A => ç

无论如何,B都是C的父母。

因此,当我导航到C(通过B或不通过B)时,我希望在触摸操作栏的向上按钮时到达B.

我的清单定义如下:

 <activity android:name="my.package.A"></activity> 
 <activity android:name="my.package.B"></activity> 
 <activity android:name="my.package.C"
           android:parentActivityName="my.package.B"> 
 </activity>

我的应用针对Android 4.1及更多版本,因此不需要<meta data>标记

C活动设置如下:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_int);
    getActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);
}

所以,根据documentation,当我触摸“向上”B时,应该创建或回击B活动。

问题:

当我跳过B(从A到C)时,如果我触摸“向上”应用程序正在关闭(因为A已经完成,预期的行为),而它应该创建B.

onOptionsItemSelected() shouldUpRecreateTask()中,即使B不存在,也始终返回false。

如果我导航到C到B(A =&gt; B =&gt; C),向上按钮会正确地返回B.

我做错了什么?

感谢。

0 个答案:

没有答案