在我的应用程序中,我有这部分代码用于将背景图像设置为按钮!
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>.
是否有人为我提供了一些有用的提示?
答案 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,它会更有效率。