在清单文件中设置PARENT_ACTIVITY提供了哪些功能? 我玩它,从我的经验来看,它似乎没有影响后退按钮功能(但我可能做错了)。 有谁知道这个属性会影响哪些功能?
更新@shoerat: TFM非常模糊,正如我所说,它似乎不会影响我的后退按钮。我从我的一个活动中删除了父属性并运行了我的应用程序,后退按钮仍然像以前一样工作。所以这让我感到好奇,超出了手册所提供的范围。
答案 0 :(得分:7)
官方文件here说:
android:parentActivityName
属性在应用程序的逻辑层次结构中声明此活动的父活动的名称。系统使用此值来实现默认导航行为,例如Android 4.1(API级别16)及更高版本上的Up navigation。
现在,为了让它更清晰,我们举一个例子(来自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);
}
(摘自tutorial)
up
按钮使用与ActionBar主页图标android.R.id.home
相同的资源标识符。这link也可能与研究有关。它精美地解释了(以及图表)设备上Up
按钮与Back
按钮行为的不同。
在教程中的“Use the New Compatibility Package Classes”标题下,这些示例很好地解释了它的用法。希望这一切都有助于清除这个概念。
答案 1 :(得分:1)
答案 2 :(得分:1)
设置为在NavUtils中访问,其中包含任何活动的方法getParentActivityName
,并为实现推荐的Android UI导航模式的应用程序提供帮助功能