У меня обычная активность с Option Menu, которое я создал с помощью этого кода:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "A");
menu.add(0, 2, 0, "B");
menu.add(0, 3, 0, "C");
return true;
}
На Android 2.3 и старше (2.2, 2.1) все в порядке.Но когда я запускаю это приложение на Android 4.0 (ICS - эмулятор, Galaxy Nexus, Nexus S), когда я нажимаю кнопку меню, происходит сбой приложения с этим исключением:
W/ResourceType(9263): Failure getting entry for 0x01090044 (t=8 e=68) in package 0 (error -75)
D/AndroidRuntime(9263): Shutting down VM
W/dalvikvm(9263): threadid=1: thread exiting with uncaught exception (group=0x40a4a1f8)
FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: Resource ID #0x1090044
E/AndroidRuntime(9263):
at android.content.res.Resources.getValue(Resources.java:1019)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2107)
at android.content.res.Resources.getLayout(Resources.java:858)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at com.android.internal.view.menu.BaseMenuPresenter.getMenuView(BaseMenuPresenter.java:70)
at com.android.internal.policy.impl.PhoneWindow$PanelFeatureState.getIconMenuView(PhoneWindow.java:3298)
at com.android.internal.policy.impl.PhoneWindow.initializePanelContent(PhoneWindow.java:1096)
at com.android.internal.policy.impl.PhoneWindow.openPanel(PhoneWindow.java:559)
at com.android.internal.policy.impl.PhoneWindow.onKeyUpPanel(PhoneWindow.java:817)
at com.android.internal.policy.impl.PhoneWindow.onKeyUp(PhoneWindow.java:1486)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1813)
at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3300)
at android.view.ViewRootImpl.handleFinishedEvent(ViewRootImpl.java:3273)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2436)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Я не могу локализовать ресурс с ID #0x1090044 (его нет в моем R.java или любых других файлах), и я не знаю, каким он должен быть.Может быть, какая-то внутренняя раскладка меню?Я уже тоже пытался очистить проект.Я знаю, что есть новые «правила разработки» для Android 4.0 ICS и использование панели действий вместо более старого меню, но мне нужно, чтобы этот код работал даже на ICS по многим различным причинам.Должен ли я как-то редактировать этот код для работы даже на ICS?Я также уже пытался создать меню из XML-файла, используя этот код с тем же исключением.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
Спасибо за любой совет!