如何在数组中存储drawable

时间:2011-06-02 10:42:22

标签: android drawable

我想下载一堆图片,并希望将其存储为数组中的drawable。所以我尝试声明一个可绘制的数组。但是当我访问该数组时它会返回nullPointer异常。

我的问题是,如何将数组类型声明为drawable?

3 个答案:

答案 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);