我想下载一堆图片,并希望将其存储为数组中的drawable。所以我尝试声明一个可绘制的数组。但是当我访问该数组时它会返回nullPointer
异常。
我的问题是,如何将数组类型声明为drawable?
答案 0 :(得分:8)
一系列drawables将被声明为:
int numDrawables = 10;
Drawable[] drawableArray = new Drawable[numDrawables];
填充数组:
for(int i = 0; i < numDrawables; i++){
// get a drawable from somewhere
Drawable drawable = new Drawable();
drawableArray[i] = drawable;
}
访问数组:
Drawable aDrawable = drawableArray[0];
这是基本的java,如果你得到空指针异常,那你就做错了。
答案 1 :(得分:0)
你可以使用hashMap,并将键作为url放置,例如,value是你下载的drawable:
HashMap<String,Drawable> myDrawables = new HashMap<String,Drawable>();
//before you download the images, you can test if your drawable is already downloaded,
// with looking for his url in the Hashmap ,
.....
myDrawables.put(urlOfYourDrawable, yourDrawable);
答案 2 :(得分:0)
如果要存储元素列表(任何类型),请动态使用集合中的类。为什么因为数组大小是静态的。 例如:
ArrayList<Generic> list=new ArrayList<Generic>();
list.add(Generic);