1、需求如下:想从img_grid.xml文件中读取所有图片信息,这个文件要放置在values目录下
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<array name="img_grid">
<item>@drawable/light_grid</item>
<item>@drawable/light_grid</item>
<item>@drawable/light_grid</item>
<item>@drawable/watch_grid</item>
<item>@drawable/socket_grid</item>
<item>@drawable/air_grid</item>
<item>@drawable/curtain_grid</item>
<item>@drawable/load_speaker_grid</item>
<item>@drawable/gas_grid</item>
<item>@drawable/fog_grid</item>
<item>@drawable/fire_grid</item>
<item>@drawable/default_grid</item>
<item>@drawable/default_grid</item>
</array>
</resources>
代码可以这样去调用 :
TypedArray typeImg = context.getResources().obtainTypedArray(R.array.img_grid);
int[] img = new int[typeImg.length()];
for (int index = 0; index < typeImg.length(); index++) {
img[index] = typeImg.getResourceId(index, R.drawable.default_grid);
}
这样做可以避免以后程序的改动,不需要在代码中做任何修改,只需要去修改配置文件即可。