在清单文件中设置 PARENT_ACTIVITY 提供了哪些功能?我玩过它,根据我的经验,它似乎不会影响后退按钮的功能(但我可能做错了什么)。有谁知道这个属性影响什么功能?
更新@shoerat:TFM 非常模糊,正如我所说,它似乎并没有影响我的后退按钮。我从我的一项活动中删除了父属性并运行了我的应用程序,并且后退按钮仍然像以前一样工作。所以这让我对手册提供的内容感到好奇。
在清单文件中设置 PARENT_ACTIVITY 提供了哪些功能?我玩过它,根据我的经验,它似乎不会影响后退按钮的功能(但我可能做错了什么)。有谁知道这个属性影响什么功能?
更新@shoerat:TFM 非常模糊,正如我所说,它似乎并没有影响我的后退按钮。我从我的一项活动中删除了父属性并运行了我的应用程序,并且后退按钮仍然像以前一样工作。所以这让我对手册提供的内容感到好奇。
这里的官方文档说:
该android:parentActivityName
属性在应用程序的逻辑层次结构中声明此活动的父活动的名称。系统使用此值来实现默认导航行为,例如Android 4.1(API 级别 16)及更高版本上的向上导航。
现在,为了更清楚,让我们举个例子(来自 android 文档):
<application ... >
...
<activity
android:name="com.example.myfirstapp.SecondActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
</application>
在上面的示例中,MainActivity 被声明为SecondActivity
使用元数据元素的父级。现在,在SecondActivity
的类中,当用户按下向上按钮时,可以使用NavUtils向上导航到 MainActivity(父活动):
@Override
public boolean onOptionsItemSelected(android.view.MenuItem item) {
if (item.getItemId() == android.R.id.home) {
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
(摘自教程的片段)
该up
按钮使用与 ActionBar 主页图标相同的资源标识符,android.R.id.home
。这个链接也可能与学习有关。它精美地解释了(连同图表)Up
设备上Back
按钮行为与按钮行为的区别。
在教程的“使用新的兼容性包类”标题下,示例很好地解释了它的使用。希望所有这些都有助于澄清这个概念。
它设置为在NavUtils中访问,它具有getParentActivityName
任何活动的方法,并为实现推荐的 Android UI 导航模式的应用程序提供帮助功能