我的应用程序中有活动 A、B 和 C,它们按此顺序流动。如果我在 C 中实现向上按钮,我希望它返回到 B。Eclipse 生成的代码存根是这样的:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
// This ID represents the Home or Up button. In the case of this
// activity, the Up button is shown. Use NavUtils to allow users
// to navigate up one level in the application structure. For
// more details, see the Navigation pattern on Android Design:
//
// http://developer.android.com/design/patterns/navigation.html#up-vs-back
//
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
但是,B 期望在其 onCreate 方法中从 A 传递额外内容。B 和 C 之间的关系是 C 允许用户设置一些影响 B 如何显示的设置。我目前正在处理在 onPause() 中保存 C 中的更改。当用户按下 Up 而不是调用 navigateUpFromSameTask(this) 时,我应该只完成() C 吗?