按下菜单按钮并在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)
如果我尝试按下附带调试器的Menu,我会看到它停在这里:
Suspended (exception InflateException)
ViewRoot.deliverKeyEventToViewHierarchy(KeyEvent, boolean) line: 2425
感谢。
答案 0 :(得分:1)
这是因为我为Activity分配了一个主题,其中包含以下行:
<item name="android:text"></item>
我用它来删除标题栏中的应用名称文字。我想这不是正确的做法!幸运的是,这是我的应用程序最近的更改之一,所以我能够追踪它(最终)。
答案 1 :(得分:0)
请勿使用0
作为菜单ID。使用Menu.FIRST+1
或其他内容。我还会将Menu.NONE
用于其他两个0
参数。
此外,请勿返回true
- return(super.onCreateOptionsMenu(Menu m))
。
答案 2 :(得分:0)
请参阅 How to change the background color of the options menu? 如果由于以编程方式更改菜单的背景而导致此异常。