10月 142011
 

[java]
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

private HashMap drawableMap;
private ArrayList drawableList;

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]

 Posted by at 6:29 PM

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)