我似乎遇到了一个奇怪的问题,我找不到解决方案。
我完成了我的应用程序的工作并像往常一样关闭了模拟器和 Eclipse。他们第二天我启动了 eclipse 并运行了我的应用程序,当我尝试访问我的选项菜单时,它因通货膨胀错误而崩溃。
02-09 06:21:31.987: E/AndroidRuntime(15229): android.view.InflateException: Binary XML file line #17: Error inflating class com.android.internal.view.menu.IconMenuView
然后我发现它在尝试为上下文菜单充气时崩溃了。(select_dialog.xml 文件位于SDK 中的适当位置)。
02-09 06:22:49.207: E/AndroidRuntime(15239): android.content.res.Resources$NotFoundException: File res/layout/select_dialog.xml from xml type layout resource ID #0x109005e
选项菜单代码:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
int tab = getTabHost().getCurrentTab();
if (tab == 0) {
menu.add(0, 0, 0, "Test1");
menu.add(0, 1, 0, "Test2");
} else if (tab == 1) {
menu.add(0, 2, 0, "Test3");
menu.add(0, 3, 0, "Test4");
} else if (tab == 2) {
menu.add(0, 4, 0, "Enter WPC");
menu.add(0, 5, 0, "Clear All WPCs");
} else if (tab == 3) {
menu.add(0, 6, 0, "Edit Notes");
menu.add(0, 7, 0, "Clear Notes");
}
return super.onCreateOptionsMenu(menu);
}
上下文菜单代码:
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
switch (v.getId()) {
case R.id.list1: {
menu.setHeaderTitle("Tool CC Menu");
menu.add(0, v.getId(), 0, "Edit/Add Cutter Comp Info");
menu.add(0, v.getId(), 0, "Clear Cutter Comp Info");
break;
}
case R.id.list2: {
menu.setHeaderTitle("WPC Menu");
menu.add(0, v.getId(), 0, "Edit/Add WPC Info");
menu.add(0, v.getId(), 0, "Clear WPC Info");
break;
}
}
}
昨晚这两个菜单代码都运行良好......我尝试清理项目,然后我认为我的 SDK 可能已损坏,所以我尝试检查磁盘并且它运行良好,所以我重新安装了 SDK 并我仍然有问题。
我不知道接下来要看什么或尝试什么。任何指针表示赞赏。