设置在Android中的Arraylist中的可绘制图像时遇到麻烦

时间:2014-03-12 06:35:14

标签: android arraylist imageview drawable android-drawable

我想在数组列表中设置图像从drawable这里是我的代码

 private ArrayList<Integer>  timeNames = new ArrayList<Integer>();
 timeNames.add(R.drawable.azaan_fajar_eng);
 timeNames.add(R.drawable.azaan_fajar_eng1);
 timeNames.add(R.drawable.azaan_fajar_eng2);
 timeNames.add(R.drawable.azaan_fajar_eng3);
 timeNames.add(R.drawable.azaan_fajar_eng4);
 timeNames.add(R.drawable.azaan_fajar_eng5);
 timeNames.add(R.drawable.azaan_fajar_eng6);

此代码不显示任何错误但显示整数值而不是图像请帮我解决一下?

3 个答案:

答案 0 :(得分:2)

您可以使用Drawable加载来自timeNames的图片,如:

private ArrayList<Integer> timeNames = new ArrayList<Integer>();
timeNames.add(R.drawable.azaan_fajar_eng);
timeNames.add(R.drawable.azaan_fajar_eng1);
timeNames.add(R.drawable.azaan_fajar_eng2);
timeNames.add(R.drawable.azaan_fajar_eng3);
timeNames.add(R.drawable.azaan_fajar_eng4);
timeNames.add(R.drawable.azaan_fajar_eng5);
timeNames.add(R.drawable.azaan_fajar_eng6);

int[] type_img=new int[]{R.id.img1,R.id.img2,R.id.img3,R.id.img4,R.id.img5,R.id.img6,R.id.img7};

for(int i=0;i<timeNames.size();i++){

((ImageView)findViewById(type_img[i])).setImageResource(timeNames.get(i));
}

答案 1 :(得分:2)

使用以下方法。

List<Integer> mImagesIds= Arrays.asList(R.drawable.image1,R.drawable.image2); 

将您的drawable添加到列表中,并在以后需要的地方使用。

答案 2 :(得分:1)

你必须记住你的arraylist包含资源ID-s而不是图像。您可以像这样将图像检索到ImageView:

private ArrayList<Integer> timeNames = new ArrayList<Integer>();

timeNames.add(R.drawable.azaan_fajar_eng);
timeNames.add(R.drawable.azaan_fajar_eng1);

// set image for ImageView
imageView.setImageResouce(timeNames.get(i));