2010-05-24 69 views
1

按下菜单按钮并在onCreateOptionsMenu方法中添加菜单项时,我收到通货膨胀错误。我在下面列出了一些错误。Android:什么会导致选项菜单膨胀错误?

该代码如下,如果我自己尝试而不是作为整个活动的一部分,则适用。我不认为在这里粘贴我的整个活动是不可行的(我不知道哪个位可能导致这种情况),所以我想知道是否有人以前经历过这种情况?

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 

谢谢。

+0

我不知道你的问题中的代码是否导致错误,我把它复制到一个活动,它似乎工作正常。 – JeremyFromEarth 2010-05-24 17:24:51

+0

感谢您的尝试。正如你所说,这是在上面的代码片段,而不是导致这一点。我已经在这里发布了解决方案。 – bdls 2010-05-25 08:47:37

回答

1

这是发生因为我曾指派一个主题,其中包括下列行的活动:

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

我是用这个来去除标题栏中的应用程序名称的文本。我想这不是正确的做法!幸运的是,这是我的应用程序的最新变化之一,所以我能够追踪(最终)。

0

请勿使用0作为菜单ID。使用Menu.FIRST+1什么的。我还会使用Menu.NONE作为其他两个0参数。

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

+0

感谢您的回复。虽然这并没有解决我的问题,但值得了解。 – bdls 2010-05-25 08:44:02

相关问题