android - 单击应用程序图标不会触发 onOptionsItemSelected()

标签 android android-actionbar android-homebutton

我目前正在开发一款 Android 应用。我想使用操作栏中的应用程序图标导航到“主页” Activity 。我继续阅读 this所有需要做的就是添加一个 onOptionsItemSelected 并查找 id android.R.id.home 的页面。

这是我在 Activity 中实现的代码,我想按下应用图标返回 HomeActivity

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
    case android.R.id.home:
        Intent intent = new Intent(this, HomeActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

但是,什么也没有发生。调试时,我可以看到单击图标根本不会触发 onOptionsItemSelected() 。我必须在某处对图标做些什么吗?到目前为止,它都是默认的,就在 AndroidManifest.xml

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

最佳答案

对于面向 API 级别 14 及以上的软件包,您需要通过调用 setHomeButtonEnabled() 启用主页按钮

在您的 onCreate 中,添加以下内容:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    getActionBar().setHomeButtonEnabled(true);
}

关于android - 单击应用程序图标不会触发 onOptionsItemSelected(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953120/

相关文章:

android - 在 Jetpack Compose 不可组合函数中获取上下文

android - 仅限华为手机上的复数 NotFoundException

java - Android IME 中类似 Gboard 的搜索栏

android - 按下操作栏上的后退按钮时未调用 onOptionsItemSelected - Android

android - 如何为 Android 创建贴纸包,就像在 iOS 中为 iMessage 创建贴纸包一样?

android - ActionBar里面的newTab是ActionBarImpl实例化的吗?

java - ActionBarSherlock 和 ActionBar 兼容性的区别

android - 在 Android 上禁用鼠标中键单击提供的 GotoHome 行为

android - 处理主页按钮 android 以开发锁屏

android - 如何在 ActionBar 的图标和向上按钮之间添加填充/边距?