我面临着奇怪的问题,我的旧Android项目突然没有显示菜单选项。
菜单代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_preferences"
android:icon="@drawable/icon_preferences"
android:showAsAction="always"
android:visible="true"
android:title="Preferences" />
<item android:id="@+id/menu_datatransfer"
android:icon="@drawable/transfer"
android:showAsAction="always"
android:visible="true"
android:title="Data transfer" />
</menu>
这是用于创建菜单:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.layout.menu, menu);
return true;
}
奇怪的是,如果我把断点放在那些线上,debuger就不会停止。似乎在应用程序启动时不会以某种方式调用onCreateOptionsMenu。这怎么可能?
SDK版本为17。
答案 0 :(得分:0)
您必须添加onOptionsItemSelected
,如下所示:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.YourID:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
答案 1 :(得分:0)
当我更改minSDK和targetSDK时,我发现菜单消失了。之前的版本是9.但另一件事是当我将minSDK留在9并且目标13时;我的应用程序与Web服务一起使用,并且在将目标更改为更高版本之后,应用程序无法与服务进行通信,即使在添加了清单Internet预设中也是如此。