Android Sherlock ActionBar 返回按钮

12

在这里输入图片描述

在Stream附近有一个小箭头,当点击它时可以返回到上一个活动。

我想在我的应用程序中做同样的事情,我使用了

  getSupportActionBar().setDisplayHomeAsUpEnabled(true);

我需要使用onOptionsItemSelected吗?

箭头出现了,但是点击后什么也没有发生。

而且我的菜单中有两个项,它们在我调用OnCreateOptionsMenu的每个地方都出现。

这是我想要它只在我的最后一个活动中出现的项目代码,如何实现?

      <item 
android:id="@+id/bAbout"
android:title="About"
android:showAsAction="always"/>

3
顺便提一句,“上”按钮不一定要带您返回到前一个活动(这是“返回”按钮的专属功能,尽管通常“上”和“返回”都能达到同样的效果),而是要将您带到应用程序概念层次结构中更高的级别。详细解释请参见:http://developer.android.com/design/patterns/navigation.html#up-vs-back。 - Iain_b
1个回答

24

是的,您必须实现onOptionsItemSelected()。该按钮的ID为android.R.id.home

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

    case android.R.id.home:
         // Do whatever you want, e.g. finish()
         break;

    default:
        return super.onOptionsItemSelected(item);
    }
}

我在我的菜单中有两个项目,它们出现在我调用OnCreateOptionsMenu的任何地方。
我不确定问题在哪里。当然,您应该只实现onCreateOptionsMenu()并在需要时填充该菜单资源。删除所有不应具有这些选项的活动的onCreateOptionsMenu()应该可以解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接