我的应用程序中有一个选项菜单,我已经测试过在Android 4.0上运行。 代码如下所示:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.layout.menu, menu);
return true;
}
/**
* Event Handling for Individual menu item selected
* Identify single menu item by it's id
* */
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.menu_share:
//code to do something when chosen etc
return true;
default:
return super.onOptionsItemSelected(item);
}
}
现在如果我在Android 4.4上运行相同的代码(我在Moto G上测试过),则选项菜单不会出现。
由于设备上没有Android菜单按钮,我知道必须做什么吗?
答案 0 :(得分:0)
如果要强制应用程序显示操作溢出:
,请将其放在活动类中 try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class
.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception ex) {
// Ignore
}
答案 1 :(得分:-1)
良好的做法是打电话给超级班:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.layout.menu, menu);
return super.onCreateOptionsMenu(menu);
}
您没有看到菜单的原因可能是设备有硬件菜单按钮,必须按此按钮才能显示选项菜单。
您使用的是模拟器吗?这是什么设置?