我正在为设备 2.1 Eclair -> 3.0 Honeycomb 开发 Android 应用程序。我现在开始创建用户设置区域。我遇到了菜单和操作栏项目的障碍。
我创建了一个菜单 xml 资源,其中包含我的项目和图标,然后我将其连接到 java 中:
我在已有的基础上添加了这些导入:
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
然后我的活动中的这段代码就像Android 开发者网站所说的那样:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.pixelappmenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuItem_Help:
helpDialogGo();
return true;
case R.id.menuItem_Settings:
settingsActivityGo();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
(这是我添加的所有内容,因为它工作正常。我什至评论了所有这些新东西,它又开始在 Honeycomb 上工作。)
当我在 Froyo 上对其进行测试时,这很有效 - 菜单出现了应有的标题和图标,但是当我尝试在我的 Honeycomb 平板电脑上启动该应用程序时,它强制关闭,甚至一秒钟都没有显示该应用程序。
其他一些可能相关的代码:
从 androidmanifest.xml 中提取
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="11" />
像素应用菜单.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:title="Help"
android:id="@+id/menuItem_Help"/>
<item
android:title="Settings"
android:id="@+id/menuItem_Settings"
android:onClick="onMenuItemClick_Settings"/>
</menu>