如何检查哪个图像链接到Android中的ImageView?

时间:2013-10-20 20:09:10

标签: android imageview

我的应用程序中有一个按钮和一个ImageView。 我想要做的是当我按下按钮然后ImageView上的图像将改变。 我只有两个图片文件。

我想要做的是 - 如果第一张图片链接到ImageView,而不是通过点击按钮将其更改为pic2,如果pic2已链接,则单击该按钮会将其更改回第一张图片文件。

这是我试图使用的onClick方法:

public void onClick(View v) {

        ImageView ib1 = (ImageView)findViewById(R.id.imageView1)

         View p1 = findViewById(R.drawable.pic1); 

        if(ib1.getResources()==R.drawable.pic1){
            ib1.setImageResource(R.drawable.pic2); 
        }else{
            ib1.setImageResource(R.drawable.pic1); 
        }

    }

感谢您提供任何帮助

2 个答案:

答案 0 :(得分:10)

我建议您每次更改图像时都设置ImageView的信息标记,而不是检查图像,例如:

if(ib1.getTag() != null && ib1.getTag().toString().equals("pic1")){
 ib1.setImageResource(R.drawable.pic2); 
 ib1.setTag("pic2");
} else {
 ib1.setImageResource(R.drawable.pic1); 
 ib1.setTag("pic1");
}

答案 1 :(得分:0)

private ImageView ib1;
private int currentImage;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ib1 = (ImageView) findViewById(R.id.imageView1);
    currentImage = R.drawable.pic1;
}

public void onClick(View view){
    currentImage = (currentImage == R.drawable.pic1) ? R.drawable.pic2 : R.drawable.pic1;
    ib1.setImageResource(currentImage);
}