1
raincious 2013-05-24 16:37:39 +08:00
能改个形式么?比如:
R.drawable里面加个方法get_ic_weather()。 if (code >= 3) { resId = R.drawable.get_ic_weather(code); } else { resId = R.drawable.get_ic_weather(3200); } |
2
batfree 2013-05-24 16:57:58 +08:00 1
两种方法:
1. R里面的资源编号是有顺序的。找到第一个然后其他的依次+1 2. 反射,从字符串反射出R.drawable的对应的属性值。 第一个速度快,第二个保险。 |
5
hfcc8685 2013-05-24 17:08:07 +08:00
表模式应该行
|
6
zhangxiao 2013-05-24 17:46:43 +08:00
R.drawable.ic_weather_N
这些必须这么命名么,如果是:R.drawable.ic_weather.N的形式会不会好点,可以有一个R.drawable.ic_weather._default |
7
expensivefreee 2013-05-24 17:50:41 +08:00 1
|
8
qiibeta 2013-05-24 18:04:46 +08:00 1
int resID = getResources().getIdentifier("ic_weather_"+String.valueOf(code), "drawable",getPackageName());
Drawable image = getResources().getDrawable(resID); |
10
darktiny OP @expensivefreee 顺便研究下,谢谢
|
11
xpfd 2013-05-24 20:38:33 +08:00
int ic_weathe[48] = {R.drawable.ic_weather_3200,R.drawable.ic_weather_3200,R.drawable.ic_weather_3200,R.drawable.ic_weather_3 .... 47};
if(code >= 0) && (code < 48){ return ic_weathe[code]; }else{ return R.drawable.ic_weather_3200; } |