0

解決策が見つからない奇妙な問題が発生したようです。

アプリでの作業を終了し、通常どおりエミュレーターと 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 を再インストールし、まだ問題があります。

次に何を見て、何をしようか迷っています。任意のポインタをいただければ幸いです。

4

3 に答える 3

0

これに続く人々のために、私は問題を見つけました。エミュレータで何かが破損したように見えます。

使用していたAVDを削除して再作成したところ、すべてが正常に機能するようになりました。

于 2012-02-20T16:39:45.177 に答える
0

まず、プロジェクトでファイルを見つける必要があります。次に、17行目を見つけて、何が問題なのかを確認します。

于 2012-02-20T08:54:00.827 に答える
-1

あなたの問題は、R.java ファイルが壊れていることだと思います。これは生成されたファイルで、gen フォルダーにあります。まず、削除を試みることができます。プロジェクトを実行すると再生成されます。または、私がお勧めするのは、新しいプロジェクトを作成し、この新しいプロジェクトに古いクラスと xml をコピーして貼り付けることです。確かにそれはうまくいくでしょう。

于 2012-02-20T08:24:32.210 に答える