Android 4.0开发 - onMenuItemSelected(int,Menu)

2lo*_*rai 5 android

我刚刚使用模拟器4.0将我的Android应用程序从api 13级升级到14级.

任何使用14级api的人都可以确认存在问题

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item)
{
switch(item.getItemId())
           {
                case android.R.id.home:
...
}
Run Code Online (Sandbox Code Playgroud)

功能?如果我用13级api编译,我可以点击主活动图标(左上),我在r.id.home情况下转到这个方法,但升级到api 14级,该函数未被调用,它看起来像该图标无法点击:(

我只是想知道这是刚刚发布的api中的错误.

eka*_*was 5

从Action Bar文档中:

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


Guy*_*kun 3

我不确定您用于 onOptionsItemSelected 的重载。Android 参考显示唯一的重载是 onOptionsItemSelected(MenuItem) 并且以下内容肯定对我有用:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
Run Code Online (Sandbox Code Playgroud)