【发布时间】:2011-07-03 09:06:09
【问题描述】:
我正在为 2.1 Eclair -> 3.0 Honeycomb 设备开发 Android 应用程序。我现在开始创建用户设置区域。我遇到了 Menu & ActionBar Items 的问题。
我创建了一个菜单 xml 资源,其中包含我的项目和图标,然后我将其连接到 java 中:
我在已有的基础上添加了这些导入:
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
然后这个代码在我的活动中作为Android Developers site said to:
@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" />
pixelappmenu.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>
【问题讨论】:
-
你在 logcat 中有什么消息吗?
-
@rabs83:尝试摆脱
android:onClick属性——你没有使用它,而且我不认为它经常被使用,所以这可能是你困难的根源。除此之外,正如@Gregory 建议的那样,在 Eclipse 中使用adb logcat、DDMS 或 DDMS 透视图来检查 LogCat 并查看与“强制关闭”相关的堆栈跟踪。 -
@CommonsWare,我已经这样做了,它不会导致问题。感谢您的帮助。
-
@rabs83:然后使用 adb logcat、DDMS 或 Eclipse 中的 DDMS 透视图检查 LogCat 并查看与“强制关闭”相关的堆栈跟踪。
-
我已经解决了我的问题,我只需要等到明天回答我自己的问题,因为我的代表
标签: android menu crash menuitem android-actionbar