在Android应用程序中导入多个图像

在Android应用程序中导入多个图像,android,main-activity,Android,Main Activity,如何在Android应用程序上导入多个图像?我是否可以将单个id分配给该图像束,以便从drawable中获取它?给我提个建议 目前,我只能在行布局中多次显示一个图像。以下是显示图像的代码行: placeholder = BitmapFactory.decodeResource(getResources(), R.drawable.picture2); 我应该为picture3、picture4等输入多行吗?我能想到的最简单的方法是: int ids[] = new int[] {

如何在Android应用程序上导入多个图像?我是否可以将单个id分配给该图像束,以便从drawable中获取它?给我提个建议

目前,我只能在行布局中多次显示一个图像。以下是显示图像的代码行:

  placeholder = BitmapFactory.decodeResource(getResources(), R.drawable.picture2);  

我应该为picture3、picture4等输入多行吗?

我能想到的最简单的方法是:

int ids[] = new int[] {
    R.drawable.picture2,
    R.drawable.picture3,
    R.drawable.picture4
};

Bitmap bitmaps[] = new Bitmap[ids.length];

for(int i = 0; i < ids.length; i += 1){
    bitmaps[i] = BitmapFactory.decodeResource(getResources(), ids[i]);  
}
int-id[]=新int[]{
R.drawable.picture2,
R.drawable.picture3,
R.可画的
};
位图位图[]=新位图[id.length];
对于(int i=0;i
您还可以将其作为一个函数重新编写,以改进模块化

public Bitmap[] loadBitmaps(int ids[]){
    Bitmap bitmaps[] = new Bitmap[ids.length];

    for(int i = 0; i < ids.length; i += 1){
        bitmaps[i] = BitmapFactory.decodeResource(getResources(), ids[i]);  
    }

    return bitmaps;
}
公共位图[]加载位图(int-id[]){
位图位图[]=新位图[id.length];
对于(int i=0;i
将所有图像存储在资源中,而不是可绘制的,然后您可以通过传递名称来获取图像。在活动中添加以下功能

private Bitmap getBitmapFromAsset(String paramString)
{
    Object localObject = getResources().getAssets();
    try
    {
        Bitmap ret = BitmapFactory.decodeStream(((AssetManager)localObject).open(paramString));
        return ret;
    }
    catch (IOException ex)
    {
        ex.printStackTrace();
    }
    return null;
}