Android - Получить ресурс изображения - PullRequest
1 голос
/ 24 марта 2012

Мой вопрос: как вы проверяете ресурс изображения? В моем методе onClick есть обратный отсчет (который я суммировал, чтобы избежать длинных постов), который на каждом тике рандомизирует логическое значение. Если true, img1 ресурс установлен на headAppear.jpg. Если false, img1 устанавливается на headHide.jpg.

Какой код я добавлю в onClick(), чтобы проверить, является ли картинка headAppear или headHide? То, что я хочу сделать, это, если я нажал img1, и он показывает headAppear, score++. Иначе, если он показывает 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
}

Ответы [ 2 ]

1 голос
/ 24 марта 2012

, если вы хотите сохранить ресурс, когда вы setImageResource, вы также можете setTag.

1 голос
/ 24 марта 2012

Вы не можете восстановить ресурс изображения из содержимого 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 с видимостью класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...