菜单无法在4.4 kitkat上运行?

时间:2014-03-14 23:53:44

标签: android menuitem android-menu

我开发了一个应用程序,它在LG g2上的4.2.2上运行正常, 但我将我的机器人升级到4.4.2然后在我的应用程序中菜单无效。 (我使用的是pageviewer和片段) 这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.layout.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{

    switch (item.getItemId())
    {
    case R.id.menu_bookmark:
        //do something
      return true;
      default:
        return super.onOptionsItemSelected(item);
    }
} 

当我按下菜单时,这是我的日志:

03-15 02:04:31.943: I/ViewRootImpl(9878): ViewRoot's KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_MENU, scanCode=0, metaState=0, flags=0x48, repeatCount=0, eventTime=1456794, downTime=1456794, deviceId=-1, source=0x101 } to com.android.internal.policy.impl.PhoneWindow$DecorView{42808620 V.E..... R....... 0,0-1080,1776}
03-15 02:04:32.013: I/ViewRootImpl(9878): ViewRoot's KeyEvent { action=ACTION_UP, keyCode=KEYCODE_MENU, scanCode=0, metaState=0, flags=0x48, repeatCount=0, eventTime=1456859, downTime=1456794, deviceId=-1, source=0x101 } to com.android.internal.policy.impl.PhoneWindow$DecorView{42808620 V.E..... R....... 0,0-1080,1776}

我的菜单布局文件:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/menu_bookmark" 
          android:title="@string/logout_menu" />


</menu>

逻辑上 kitkat 有什么不同吗?

感谢

1 个答案:

答案 0 :(得分:0)

我发现了一个不同的解决方案; 我使用keyevent来检测按下的菜单按钮,所以我放了一个与我的菜单相同的功能,

这是代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if (keyCode == KeyEvent.KEYCODE_MENU)
    {
       //my menu code here, 
    }

    return super.onKeyDown(keyCode, event);
}