android中的本地文件批量加载
图片一致是android中相当深的坑,近日项目中需要加载n多图片险些难倒我这样的菜鸟,本地文件夹下四百多张图片学要加载到listview中去,这酸爽。。。。。
好在最后还是找到了解决方案:java反射
代码如下,也基本上能当做模板代码了,推荐最好像我一样写在一个工具类中
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import cn.tjmj.musiclearning.R;
/**
* Created by Administrator on 2016-08-11.
*/
public class ReflectToDrawable {
public static List<Integer> getDrawableList(int start,int end){
List<Integer> list=new ArrayList<>();
try {
R.drawable d=new R.drawable();
for (int i=start;i<end;i++){
Field fieldId=d.getClass().getDeclaredField("U("+i+")");
int imageId= (int) fieldId.get(d);
list.add(imageId);
}
}catch (Exception e){
e.printStackTrace();
}
return list;
}
}
这样就可以嗨皮的加载本地的图片文件了,妈妈再也不用担心我需要些N多行的list.add()啦