ArrayList <drawable> </drawable>中的随机背景

时间:2014-11-29 17:32:53

标签: java android arraylist

在我的应用程序中,我有这部分代码用于将背景图像设置为按钮!

private int [] [] double;
private List<Drawable> images;
----------------------------------------------------------
images = new ArrayList<Drawable>();

images.add(getResources().getDrawable(R.drawable.img1));
images.add(getResources().getDrawable(R.drawable.img2));
images.add(getResources().getDrawable(R.drawable.img3));
images.add(getResources().getDrawable(R.drawable.img4));
images.add(getResources().getDrawable(R.drawable.img5));
images.add(getResources().getDrawable(R.drawable.img6));
images.add(getResources().getDrawable(R.drawable.img7));
images.add(getResources().getDrawable(R.drawable.img8));
-----------------------------------------------------------
button.setBackgroundDrawable(images.get(double[x][y]));

现在我正在尝试将随机图像设置为此按钮ArrayList<Drawable>.是否有人为我提供了一些有用的提示?

1 个答案:

答案 0 :(得分:0)

是的,你应该制作一个Integers的arraylist并将drawable id放在那里并使用setBackgroundResource访问它。

示例:

private List<Integer> images;

images = new ArrayList<Integer>();

images.add(Integer.valueOf(R.drawable.img1));
button.setBackgroundResource(images.get(double[x][y]).intValue());

这样它会消耗更少的内存,因为现在你只存储Integers而不是Image Drawables,它会更有效率。