【问题标题】:Android: What could cause an Options Menu inflation error?Android:什么可能导致选项菜单膨胀错误?
【发布时间】:2010-05-24 17:00:15
【问题描述】:

我在按下菜单按钮并在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   

谢谢。

【问题讨论】:

  • 我不知道您问题中的代码是否导致错误我将其复制到 Activity 中,它似乎工作正常。
  • 感谢您的尝试。正如您所说,造成这种情况的原因不是上面的代码 sn-p 。我已经在这里发布了解决方案。

标签: android menu inflate options-menu


【解决方案1】:

这是因为我为 Activity 分配了一个主题,其中包含以下行:

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

我正在使用它来删除标题栏中的应用名称文本。我想这不是正确的做法!幸运的是,这是我最近对我的应用所做的更改之一,因此我能够(最终)追踪到它。

【讨论】:

    【解决方案2】:

    不要使用0 作为菜单 ID。使用Menu.FIRST+1 或其他东西。我还会将Menu.NONE 用于您的另外两个0 参数。

    另外,不要返回true -- return(super.onCreateOptionsMenu(Menu m))

    【讨论】:

    • 感谢您的回复。虽然这并没有解决我的问题,但值得了解。
    【解决方案3】:

    How to change the background color of the options menu? 如果您因为以编程方式更改菜单背景而出现此异常。

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多