2011-05-22 98 views
0

我試圖爲每一天顯示一個不同的drawable,但我得到一個NullPointerException。 已經在這幾個小時了。在一個散列圖中獲取一個整數的drawable

private Map<String, Integer> dayMap; 
... 
dayMap = new HashMap<String, Integer>(); 
dayMap.put("day1", R.drawable.day1); 
dayMap.put("day2", R.drawable.day2); 
dayMap.put("day3", R.drawable.day3); 
dayMap.put("day4", R.drawable.day4); 
dayMap.put("day5", R.drawable.day5); 
... 
int mDay = 2; //set as 2 for testing 
... 
ivDay.setImageDrawable(getResources().getDrawable(dayMap.get("day" + String.valueOf(mDay)))); //NullPointerException!!! 

CNC中

哇,我覺得現在真的很愚蠢的,但發佈我的問題幫我回答一下......對了,告訴它什麼ivday應該是....對不起你時間:(

ivDay = (ImageView)findViewById(R.id.imageView1); 
+0

發佈堆棧跟蹤? – Femi 2011-05-22 02:57:01

+0

我現在一切正常,對不起。 – bwoogie 2011-05-22 03:08:02

+0

呵呵。都好。 – Femi 2011-05-22 03:37:37

回答

1

高興你理解了它:)

更快和設置背景,順便說一句簡單的選擇,會是這樣:

ivDay.setImageResource(dayMap.get("day" + mDay)); 

保存對getResources()和getDrawable()的調用,因爲您已經擁有該ID。

+0

這是一種生病的方式,很好的想法。 – hwrdprkns 2011-05-22 03:51:23

+0

謝謝!奇蹟般有效! – bwoogie 2011-05-22 04:31:53

相關問題