在hashmap中通过整数获取drawable

时间:2011-05-22 02:52:16

标签: android hashmap int drawable

我正在尝试每天显示不同的drawable但我得到一个NullPointerException。 已经在这几个小时了。

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!!!

- 编辑 -

哇,我觉得现在真的很蠢,但发布我的问题帮我回答了......因为我要告诉它ivday应该是什么......对不起你的时间:(

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

1 个答案:

答案 0 :(得分:1)

很高兴你明白了:)

顺便说一下,设置背景的更快更简单的选项是:

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

保存对getResources()和getDrawable()的调用,因为您已拥有该ID。