使用方法将图像添加到Bitmap ArrayList?

时间:2016-04-03 15:23:07

标签: java android arraylist bitmap

ArrayList<Bitmap> images = new ArrayList<Bitmap>();
images.add(BitmapFactory.decodeResource(getResources(), R.drawable.uzayli_1));
images.add(BitmapFactory.decodeResource(getResources(), R.drawable.uzayli_2));

mForeground = images.get(0);
mBackground = images.get(1);

我可以将图片添加到ArrayList,但我也想在其他类中使用该类,所以我必须为它编写一个方法。

public void addImages(ArrayList<Bitmap> images){
    for (int i = 0; i < images.size(); i++) {
        images.get(i);
        mPages.add(BitmapFactory.decodeResource(getResources(), R.drawable.));
    }
}

我想要这样的东西,但是如何在R.drawable之后定义可绘制的图像。在一个方法?

1 个答案:

答案 0 :(得分:0)

您已经解码过一次,因此请使用ArrayList中的一个:

Bitmap bmp = images.get(i);
mPages.add(bmp); //assuming that's legal

或者将资源ID保存在Integer

的列表中
ArrayList<Integer> images = new ArrayList<Integer>();
images.add(R.drawable.uzayli_1);
images.add(R.drawable.uzayli_2);

稍后解码:

public void addImages(ArrayList<Integer> imageIds){
    for (int i = 0; i < imageIds.size(); i++) {
        Integer resourceId = imageIds.get(i);
        mPages.add(BitmapFactory.decodeResource(getResources(), resourceId));
    }
}

但你不能两者兼顾。