[java]
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
private HashMap
private ArrayList
public void onCreate(Bundle savedInstanceState) {
—
—
this.drawableMap = new HashMap
this.drawableList = new ArrayList
createDrawbleCollection();
}
public void createDrawbleCollection() {
// Rクラスの全ての内部クラスを取得
Class>[] classes = R.class.getClasses();
for (Class> cls : classes) {
// 内部クラスがdrawbleならコレクションを作る
if (cls.getSimpleName().equals(“drawable”)) {
Field[] fields = cls.getFields();
String name;
for (Field field : fields) {
try {
name = field.getName();
// if(name.equals(“icon”)){ //iconは無視
// continue;
// }
// drawableコレクションに格納
this.drawableMap.put(name, ((Integer) field.get(name)));
this.drawableList.add((Integer) field.get(name));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
}
[/java]