将imageView设置为新的ImageView

时间:2016-02-29 05:44:08

标签: android

我试图通过点击显示可绘制文件夹中的三个图像列表。但是,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)));

        }

    });

3 个答案:

答案 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<>();