2011-05-20 61 views
1

我是新的Android SDK(不是java),我有一個或兩個關於選項菜單的問題。我環顧幾個教程,包括developer.android。我的問題是文件的命名。在我的res/menu文件夾中,菜單xml文檔的標題爲menu.xml時,菜單正常工作。如果我嘗試在mainMenu.xml中調用,我得到一個 mainMenu無法解析或不是字段 錯誤。 這裏是我的主要活動代碼,Android:命名菜單文件

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.mainMenu, menu); 
    return true; 
} 

的「MAINMENU」在R.menu.mainMenu在上面的代碼中的紅色(錯誤)突出 所以我的問題是我能說出我的菜單文件進行任何操作我想要?這種方式似乎限制我每個項目的一個選項菜單,這是不正確的(除非我錯過了某些東西:)

+0

希望這將幫助 - HTTP ://staticallytyped.wordpress.com/2011/05/05/android-how-can-you-implement-a-custom-menu-class/ – 2011-05-20 16:03:59

回答

0

你絕對可以有多個選項菜單:儘管可能有小寫限制。使用下劃線,你應該全部設置?

編輯:

[2011-05-20 12:09:40 - BlAH BLAH BLAH] res\menu\newMenu.xml: Invalid file name: must contain only [a-z0-9_.] 

因此,有一個小寫的限制:是的,當你試圖建立出現此錯誤消息。從來不知道。

+0

謝謝。我不能相信我錯過了... – AndrewJM 2011-05-20 16:15:54

-1

問題是您爲XML文件選擇的名稱。下面是一個例子輸出一個名爲someName文件:

RES /菜單/ someName.xml:無效的文件

名稱:只能包含

[A-Z0-9 _]

正如你所看到的,你的文件被允許包含任何小寫字母,數字,下劃線或句點。由於您將文件命名爲mainMenu,所以大寫M會導致問題。

一般來說,駱駝案件對於Android資源來說是不可行的,您應該使用蛇案。

此外,您onCreateOptionsMenu - 方法稍微注意一下: 的活動方面已經爲您提供了一個菜單吹氣,你不必創建一個:

@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    this.getMenuInflater().inflate(R.menu.main_menu, menu); 
    return super.onCreateOptionsMenu(menu); 
} 
+0

非常感謝答覆和其他建議:) – AndrewJM 2011-05-20 16:14:36

+0

沒問題。如果您喜歡給定的答案,請將其投票,如果有人回答了您的問題並且一切都很清楚,請將該答案標記爲「已接受」。祝你有個好的一天! – 2011-05-20 16:23:15