2013-11-27 37 views
-1

我想创建一个包含多个图像的数组。稍后,我必须在我的代码循环中使用该数组。任何人都可以建议,如果我可以创建一个图像数组。如何创建图像数组?

+1

你试过了什么?首先粘贴一些代码 –

回答

0

限定图片ID这样

int[] p = {R.drawable.image1, R.drawable.image2....} 
现在

该阵列的不同条件使用部件阵列等

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

或者可以使用ENUM,使其更具有可读性..

0

这会解决你的问题:

int imageArray[] = new int[number_of_images]; 
for (int i = 0; i < numImages; i++) 
imageArray[i] = getDrawableId(getApplicationContext(),"R.drawable." + image_names[i]); 
0

您可以定义图像文件名的数组:

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(); 
    } 
} 
0

创建自己的customImageAdapter延伸ArrayAdapter
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; 
    }