Java 如何创建图像数组。?

Java 如何创建图像数组。?,java,android,Java,Android,我想创建一个包含大量图像的数组。稍后,我必须在代码的循环中使用该数组。有人能建议我是否可以创建一个图像数组吗?像这样定义一个图像id数组 int[] p = {R.drawable.image1, R.drawable.image2....} 现在,对于不同的条件,使用此数组的成员,如 yourbutton.setBackgroundResource(p[0]) // or p[1] 或者您可以使用ENUM使其更具可读性。这将解决您的问题: int imageArray[] = new i

我想创建一个包含大量图像的数组。稍后,我必须在代码的循环中使用该数组。有人能建议我是否可以创建一个图像数组吗?

像这样定义一个图像id数组

int[] p = {R.drawable.image1, R.drawable.image2....}
现在,对于不同的条件,使用此数组的成员,如

yourbutton.setBackgroundResource(p[0])  // or p[1]

或者您可以使用ENUM使其更具可读性。

这将解决您的问题:

int imageArray[] = new int[number_of_images];
for (int i = 0; i < numImages; i++)
imageArray[i] = getDrawableId(getApplicationContext(),"R.drawable." + image_names[i]);
int-imageArray[]=新的int[图像的数量];
对于(int i=0;i
您可以定义图像文件名数组:

String fileNames[] = {"temp.jpg", "sample_img28.jpg", "normImg.jpg", "drawing.png", "film.png"};
并在初始化应用程序时将其添加到MeidaTracker中

MediaTracker tracker = null;    

public void init() {

    tracker = new MediaTracker(this);
    for(int i = 0; i < fileNames.length; i++) {
        System.out.println(" path :"+this.getCodeBase());
        image[i] = getImage(this.getCodeBase(),fileNames[i]);
        image[i] = image[i].getScaledInstance(256, 256, Image.SCALE_SMOOTH);
        tracker.addImage(image[i], i);
    }
    try {
        tracker.waitForAll();
    }
}
MediaTracker=null;
公共void init(){
tracker=新的MediaTracker(本);
对于(int i=0;i
创建您自己的customImageAdapter扩展
arrayAdapter的示例代码:

public class CustomImageAdapter extends BaseAdapter{
    private Activity activity;
    private ArrayList<HashMap<String, String>> data;
    private static LayoutInflater inflater=null;
    public ImageLoader imageLoader; 

    public CustomImageAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
        activity = a;
        data=d;
        inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        imageLoader=new ImageLoader(activity.getApplicationContext());
    }

    public int getCount() {
        return data.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }
 // if you want to display the image modify the content according o your need
    public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.list_row, null);

        ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image);//thumb image


        return vi;
    }
公共类CustomImageAdapter扩展了BaseAdapter{
私人活动;
私有数组列表数据;
专用静态充气机=空;
公共图像加载器;
公共CustomImageAdapter(活动a,ArrayList d){
活动=a;
数据=d;
充气器=(LayoutInflater)activity.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
imageLoader=新的imageLoader(activity.getApplicationContext());
}
public int getCount(){
返回data.size();
}
公共对象getItem(int位置){
返回位置;
}
公共长getItemId(int位置){
返回位置;
}
//如果要显示图像,请根据需要修改内容
公共视图getView(int位置、视图转换视图、视图组父视图){
视图vi=转换视图;
if(convertView==null)
vi=充气机充气(R.layout.list_行,空);
ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image);//thumb image
返回vi;
}

您尝试了什么?请先粘贴一些代码