Android 4.0 / ICS - 应用图标在操作栏上无法点击

11

在我的 Motorola Xoom 上测试 Ice Cream Sandwich 版本时,出现了一个问题:尽管我已经实现了事件处理程序,操作栏中的应用程序图标无法点击。只有将 targetSdkVersion 更改为 15 后才会出现此问题;如果是 13,则在 ICS 上仍然可点击。为什么会这样,我该如何使其像按钮一样可点击?我查阅了文档,但没有找到任何相关内容。

谢谢。

更新:这是我的代码:

AndroidManifest.xml:

...
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
    android:theme="@style/android:Theme.Holo.Light">
...

BaseActivity.java(我所有的活动都继承自这个类:

...
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            // app icon in action bar clicked; go home
            Intent intent = new Intent(this, MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
...

在模拟器上测试过了吗?它在那里可以被点击吗? - Leandros
刚在模拟器上测试了一下,和Xoom一样;当targetSdkVersion为15时,它是不可点击的,只有当它为13时才可以(我没有尝试14,但应该没关系)。 - Shlomo Zalman Heigh
@Leandros 完成了。还有其他人遇到过这个问题吗? - Shlomo Zalman Heigh
2个回答

25

我在http://developer.android.com/guide/topics/ui/actionbar.html文档中找到了这段内容:

注意:如果您正在使用图标导航到主页活动,请注意,从Android 4.0(API级别14)开始,您必须通过调用setHomeButtonEnabled(true) 显式启用图标作为操作项(在之前的版本中,默认情况下将图标启用为操作项)。


0

您想使用以下代码吗:

ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);

2
欢迎来到SO!这个问题已经在近两年前得到了解答 - 请编辑您的答案,为什么在OP的问题解决后它可能有帮助提供一些背景信息。在Stack Overflow上仅呈现代码而没有其他信息是没有用的。 - Derek
@Derek 第二。为什么有些人在不增加任何新解决方案的情况下重新回答,这让我感到困惑。如果我们报告这些帖子也不会采取行动。 - Sufian

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