Мой вопрос: как проверить ресурс изображения? В моем методе onClick
есть обратный отсчет (который я обобщил, чтобы избежать длинного сообщения), который на каждом тике рандомизирует логическое значение. Если true, ресурс img1
установлен на headAppear.jpg
. Если false, img1
устанавливает headHide.jpg
.
Какой код я поставлю в onClick()
чтобы проверить, является ли изображение headAppear
или headHide
? Я хочу сделать, если я нажал img1
и он показывает headAppear
, score++
. headHide
, если он показывает headHide
, score--
.
В моем 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
}
Вы не можете восстановить ресурс изображения из содержаний 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
переменной класса.
если вы хотите сохранить ресурс, когда вы setImageResource
вы можете setTag
, а также.