我似乎已经出现了一个奇怪的问题,我无法找到解决方案。
我完成了我的应用程序,并像往常一样关闭了模拟器和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和我仍然有问题。
我不知道该看什么或下一步尝试。任何指针都赞赏。
答案 0 :(得分:0)
首先,您应该在项目中找到该文件。 然后,在第17行找到以检查错误。
答案 1 :(得分:0)
对于那些人之后,我发现了这个问题。看起来模拟器中的某些东西已经损坏了。
我删除了我正在使用的AVD,重新创建它,现在一切都像它应该再次一样。
答案 2 :(得分:-1)
我认为您的问题是您的R.java文件已损坏。 这是一个生成的文件,您可以在gen文件夹中找到它。 首先,您可以尝试删除它。它将在您运行项目时重新生成。 或者我建议的是,在这个新项目中创建一个新项目并复制粘贴旧类和xml。肯定会有效。