我开发了一个应用程序,它在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 有什么不同吗?
感谢
答案 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);
}