我试图通过点击显示可绘制文件夹中的三个图像列表。但是,images.get(i)部分给了我一个错误。我不明白。如果我用R.drawable.handbag替换它,它可以工作但是我的arraylist它不起作用(即使它有相同的东西)
public void addListenerOnButton() {
images.add(R.drawable.handbag); // these images have been added
images.add(R.drawable.shoes);
images.add(R.drawable.tie);
image = (ImageView) findViewById(R.id.imageView1);
nextOne = (Button) findViewById(R.id.btnChangeImage);
nextOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
i++;
if (i > 2){
i = 0;
}
image.setImageResource((images.get(i)));
}
});
答案 0 :(得分:3)
创建图像数组如下
private static int images[]={R.drawable.handbag,R.drawable.shoes,R.drawabletie.tie};
然后使用如下
image.setImageResource((images[i]));
或创建ArrayList,如下所示
List<Integer> images = new ArrayList<Integer>();
答案 1 :(得分:2)
试试这种方式
int images[]={R.drawable.handbag,R.drawable.shoes,R.drawabletie.tie};
同样的方式
List<Integer> images = new ArrayList<Integer>();
images.add(R.drawable.handbag); // these images have been added
images.add(R.drawable.shoes);
images.add(R.drawable.tie);
答案 2 :(得分:1)
将您的Arraylist类型更改为Integer,如下所示:
ArrayList<Integer> images = new ArrayList<>();