2010-05-24 36 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

相關問題