1

メニューボタンを押してメソッドにメニュー項目を追加すると、インフレエラーが発生しますonCreateOptionsMenu。以下にエラーの一部を含めました。

コードは次のとおりです。アクティビティ全体の一部としてではなく、単独で試してみると機能します。ここに私の活動全体を貼り付けるのは現実的ではないと思います(どのビットがこれを引き起こしているのかわかりません)ので、誰かがこれを以前に経験したことがあるかどうか疑問に思っていますか?

public boolean onCreateOptionsMenu(Menu m) {
    Log.d(TAG, "Menu Create");
    this.menu = m;
    m.add(0, 0, 0, "HAZAH!");
    return true;
}

05-24 17:18:47.963: ERROR/AndroidRuntime(1658): android.view.InflateException: Binary XML file line #17: Error inflating class com.android.internal.view.menu.IconMenuItemView 05-24 17:18:47.963: ERROR/AndroidRuntime(1658): at android.view.LayoutInflater.createView(LayoutInflater.java:513) 05-24 17:18:47.963: ERROR/AndroidRuntime(1658): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 05-24 17:18:47.963: ERROR/AndroidRuntime(1658): at android.view.LayoutInflater.inflate(LayoutInflater.java:385)

05-24 17:18:47.963: ERROR/AndroidRuntime(1658): Caused by: java.lang.reflect.InvocationTargetException 05-24 17:18:47.963: ERROR/AndroidRuntime(1658): at com.android.internal.view.menu.IconMenuItemView.<init>(IconMenuItemView.java:86)

05-24 17:18:47.963: ERROR/AndroidRuntime(1658): Caused by: java.lang.reflect.InvocationTargetException 05-24 17:18:47.963: ERROR/AndroidRuntime(1658): at com.android.internal.view.menu.IconMenuItemView.<init>(IconMenuItemView.java:86)


デバッガーを接続した状態でメニューを押してみると、ここで停止します。

Suspended (exception InflateException)
ViewRoot.deliverKeyEventToViewHierarchy(KeyEvent, boolean) line: 2425   

ありがとう。

4

3 に答える 3

1

これは、次の行を含むアクティビティにテーマを割り当てたために発生していました。

<item name="android:text"></item>

これを使用して、タイトル バーのアプリ名のテキストを削除していました。これは正しい方法ではないと思います!幸いなことに、これは私のアプリに対する最近の変更の 1 つであったため、(最終的には) 追跡することができました。

于 2010-05-25T08:43:20.897 に答える
0

0メニュー ID には使用しないでください。使用Menu.FIRST+1とか。Menu.NONE他の 2 つの0パラメーターにも使用します。

また、返さないでくださいtrue--return(super.onCreateOptionsMenu(Menu m))代わりに。

于 2010-05-24T18:13:11.003 に答える