2011-03-03 99 views
2

我有一個問題,把不同的圖像放在一個列表中。 我創建了一個自定義列表,一切工作正常,除了圖像問題。 我的問題是與這些線 -不能使用parseInt圖像 - Android

Integer p = Integer.parseInt("R.drawable.absolut"); 
holder.icon.setImageResource(p); 

在日誌中我看到下面的錯誤 -

8月3日至3日:16:07.121:ERROR/AndroidRuntime(25486):java.lang.NumberFormatException:無法解析'R.drawable.absolut'爲整數

這是什麼原因造成的?

謝謝!

回答

2

解析int用於解析像「0」,「100」等字符串,並且與您嘗試實現的內容無關。你必須使用直接繪製ID:

holder.icon.setImageResource(R.drawable.icon); 

如果因任何原因,你不能使用恆定的,正確的方式來獲得繪製ID是:

Context context = getContext(); //obtain a context 
int drawableId = context.getResources().getIdentifier("icon", "drawable", context.getPackageName()); 

但是,這不是一個好實踐,並表示你有你的應用程序設計的問題。

+0

問題是我有很多照片,我不想手動將它們放入數組中。有沒有更好的方式來做到這一點,也許使用他們的名字,並獲得這樣的ID? – Tofira

+0

@tofira在這種情況下,使用getIdentifier方法,正如我所描述的。 –

+1

+1 Nice One.This幫助我的情況下,我的圖像名稱來自數據庫。 –