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

Nai*_*ait 25 android android-actionbar android-homebutton

我目前正在开发一款Android应用.我想使用操作栏中的应用程序图标导航到"主页"活动.我在这个页面上看到,所有需要做的就是添加一个onOptionsItemSelected并查找id android.R.id.home.

这是我在我的活动中实现的代码,我想按下应用程序图标返回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);
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,没有任何反应.调试时,我可以看到点击图标根本不会触发onOptionsItemSelected().我必须在某个地方用图标做点什么吗?截至目前,它都是默认的,就在这个AndroidManifest.xml

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
Run Code Online (Sandbox Code Playgroud)

Dav*_*unt 39

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

在onCreate中,添加以下内容:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    getActionBar().setHomeButtonEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

  • 还想为那些使用ActionBarSherlock的人添加它.`getSupportActionBar()setHomeButtonEnabled(真);` (4认同)