2012-09-29 31 views
1

我正在開發一個android項目,併爲操作欄菜單提供了一個XML文件,它一直工作正常,但我現在需要添加一個帶有圖標的額外項目,但它這會在eclipse選項卡和控制檯輸出中顯示錯誤。如果我刪除圖標字段,那麼它很好,但如果我添加圖標,那麼我得到的錯誤。將android drawable添加到菜單XML stop應用編譯

下面是包含菜單項的XML。我已經提供了曾任職一個項目,不工作

<item android:id="@+id/mnu_search" 
     android:title="Search" 
     android:icon="@android:drawable/ic_menu_search" 
     android:showAsAction="always"> 
    </item> 
    <item android:id="@+id/mnu_sync" 
     android:title="Sync" 
     android:icon="@android:drawable/ic_menu_refresh" 
     android:showAsAction="always"> 
    </item> 

同步菜單項是不工作的,搜索項工作正常的一個新項目。

在Eclipse的錯誤選項卡中的錯誤表示

Unparsed aapt error(s)! Check the console for output 

下面是控制檯輸出

W/ResourceType(9156): Bad XML block: header size 305 or total size 0 is larger than data size 0 
C:\Users\Chris\workspace\AndroidPasswordManager\res\menu\main_menu.xml:13: error: Error: Resource is not public. (at 'icon' with value '@android:drawable/ic_menu_refresh'). 
W/ResourceType(8896): Bad XML block: header size 300 or total size 0 is larger than data size 0 
C:\Users\Chris\workspace\AndroidPasswordManager\res\menu\main_menu.xml:13: error: Error: Resource is not public. (at 'icon' with value '@android:drawable/ic_menu_refresh'). 
W/ResourceType(8984): Bad XML block: header size 303 or total size 0 is larger than data size 0 
C:\Users\Chris\workspace\AndroidPasswordManager\res\menu\main_menu.xml:13: error: Error: Resource is not public. (at 'icon' with value '@android:drawable/ic_menu_refresh'). 

我不知道什麼可能是錯誤的。我檢查了android sdk目錄中的圖像,並且它肯定存在,我使用api level 15.

感謝您提供任何幫助。

+0

http://stackoverflow.com/q/8706704/89818 – caw

回答

1

您試圖使用的資源不是公開的。它由android內部使用。使用您的應用程序可繪製參考。

+0

對不起,我不明白,因爲它在同一個目錄中,我從其他菜單項名稱,我怎麼需要做一個不同的方式,我會怎樣做 – Boardy

+0

他意味着你不能使用SDK中的圖像,即使它在那裏。使用非公共資源的最簡單方法是轉到SDK文件夾('android-sdk/platforms/android-nn/data/res')並將它們複製到您的項目中。然後,你可以做簡單的'@ drawable/refresh' – dmon

+0

好的,謝謝你的幫助,有點煩人,你不能使用一些圖標,並在那裏混合在一起# – Boardy

相關問題