解決策が見つからない奇妙な問題が発生したようです。
アプリでの作業を終了し、通常どおりエミュレーターと 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 を再インストールし、まだ問題があります。
次に何を見て、何をしようか迷っています。任意のポインタをいただければ幸いです。