2010-07-22 72 views
3

其實我有52張基本上是卡片的圖像。 圖像名稱是從1到52android圖像問題

當我把所有的52幅圖像中繪製我的文件夾,然後它顯示在R.java文件,該文件是錯誤的:

令牌「映像名稱

語法錯誤(任何之間 之間1〜52)」,無效 VariableDeclaratorId

是什麼問題?


感謝您的回覆。

我想你沒有得到我的問題。

我給了我的名片從1到52,因爲我需要從它隨機選擇一張卡片。

回答

1

資源名稱必須是正確的Java標識符。撥打電話card1card52而不是他們的號碼(如果我理解正確)。

編輯添加:要將整數映射到正確的圖像,您的代碼應該管理映射本身。一種(不是非常優雅的)方法是明確地創建一個Bitmap[] cardImages = new Bitmap[52];數組並將每個資源分配到數組中,如例如。

Resources r = context.getResources(); 
cardImages[0] = loadBitmap(r.getDrawable(R.drawable.card1)); 
// ... 
cardImages[12] = loadBitmap(r.getDrawable(R.drawable.card13)); 
// ...  
cardImages[51] = loadBitmap(r.getDrawable(R.drawable.card52)); 
1

的問題是,Android的不允許在文件標識符

+0

那麼什麼是溶劑? – 2010-07-22 12:07:19

+0

解決方案是不使用空格 – 2010-07-22 12:09:42

+0

他的變量名中沒有空格。 – Janusz 2010-07-22 14:44:22

1

龐Gagge是正確的使用空間。 Android將採用可繪製文件夾中所有內容的名稱,並嘗試爲您在應用中使用的每個圖像生成一個包含int的R文件。整數以可繪製文件的名稱命名。然後,您可以稍後使用此int作爲ID從您的應用程序加載圖像。

問題是,Java does not allow一個可以用數字開頭的可比名字。您的圖像以數字開頭,因此R文件中的變量將以數字開頭。你必須爲你的圖像選擇另一個名字。