Android - 获取图片的资源

时间:2012-03-24 16:38:13

标签: android image

我的问题是你如何检查图像的资源?在我的onClick方法中,有一个倒计时(我总结为避免长篇文章),在每个tick上随机化一个布尔值。如果为true,则img1资源设置为headAppear.jpg。如果为false,则img1设置为headHide.jpg

我会在onClick()中添加哪些代码来检查图片是headAppear还是headHide?我想要做的是,如果我点击img1并显示headAppearscore++。否则,如果它显示headHidescore--


在我的onCreate()方法中:

ImageView img1 = (ImageView) findViewById(R.id.pic1);
img1.setOnClickListener( this );

//Countdown method here
var = aRandom.nextBoolean();
if( var == true ) {
   img1.setImageResource( R.drawable.headAppear );
} else {
   img1.setImageResource( R.drawable.headHide );
}
//End of countdown method

在我的onClick(View v)方法中:

if (v == img1) {
   //insert code here
}

2 个答案:

答案 0 :(得分:1)

您无法从ImageView的包含中恢复图像资源我建议您在if / else中设置单独的标记,然后使用它来确定显示的内容。这样你的代码就会变成:

ImageView img1 = (ImageView) findViewById(R.id.pic1);
img1.setOnClickListener(this);

/*Countdown method here*/
var = aRandom.nextBoolean();
if (var==true) {
    this.appear = true;
    img1.setImageResource(R.drawable.headAppear);
} else {
    this.appear = false;
    img1.setImageResource(R.drawable.headHide);
}
/*End of countdown method*/

支票:

if (this.appear) {
   /*insert code here*/
}

或者您甚至可以使用类可见性制作var变量。

答案 1 :(得分:1)

如果您确实希望在setImageResource setTag时存储资源,也可以{{1}}。