我在Android ActionBarCompat项目中遇到此问题:在使用Android 4.0的模拟器上,单击应用程序图标不会导致任何onOptionsItemSelected
事件,而它适用于所有其他操作系统版本。
非常感谢任何输入!
答案 0 :(得分:22)
您是否从应用图标中看到任何触摸反馈? (按下它时会发光吗?)
由于许多活动不使用操作栏主页按钮,因此在Android 4.0上运行的目标API 14+的应用程序中,默认情况下会禁用它。 (这是因为用户不会尝试按下它,看到它发光,并想知道为什么没有发生。)想要使用它的应用程序应该调用ActionBar#setHomeButtonEnabled(true)
。
我们应该修改ActionBarCompat示例以更清楚地表现出来。让您启动并运行的一种简单方法是修改ActionBarHelperICS.java并添加以下内容:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mActivity.getActionBar().setHomeButtonEnabled(true);
}
在您想要更多控制打开和关闭此功能的应用中,您可能需要进行进一步更改。
答案 1 :(得分:3)
我也有这个问题。这段代码对我有用:
public void onCreate(Bundle savedInstanceState) {
...
if (android.os.Build.VERSION.SDK_INT >= 11) {
//noinspection ConstantConditions
getActionBar().setHomeButtonEnabled(true);
} else {
getSupportActionBar().setHomeButtonEnabled(true);
}
}
一些额外信息:minSdkVersion="7" targetSdkVersion="18"
。这是我项目的LAUNCHER
活动,因此它没有父活动。在其他活动中使用setDisplayHomeAsUpEnabled(true)
工作得很好。