如何根据点击时显示的图像更改onClick正在执行的操作?我有一个ImageView,它在onClick方法中随机地将图像更改为一组。我希望这可以在点击时根据图像设置分数,并且不确定如何完成此操作。我正在更新图像作为原型的一部分更改时的分数,但对于实际的游戏,这将无法工作。没有找到答案,就像指向正确的方向一样。我的第一个想法是将图像名称拉为字符串并进行比较,但每次点击图像时这样做都显得效率低下。如果请求,我可以为ImageView发布onClick方法,但它并不真正相关。任何帮助表示赞赏。
编辑:为了澄清,我没有任何特别的问题。我的做法我错了。我有什么更新图像更改时的分数,我想根据被点击的图像完成此。这应该通过字符串比较来完成,还是有更好的方法来完成它?到目前为止,我还没有找到与此相关的任何内容。
final ImageView block1 = (ImageView) findViewById(R.id.coin1);
block1.setOnClickListener(new View.OnClickListener() {
@SuppressLint("SetTextI18n")
@Override
public void onClick(View view) {
final TypedArray imgs = getResources().obtainTypedArray(R.array.apptour);
final Random rand = new Random();
final int rndInt = rand.nextInt(imgs.length());
final int resID = imgs.getResourceId(rndInt, 0);
TextView id = (TextView) findViewById(R.id.ID);
block1.setImageResource(resID);
if (rndInt == 0 || rndInt == 1) {
score++;
id.setText("Score: " + score);
} else if (rndInt == 2) {
score += 5;
id.setText("Score: " + score);
} else {
id.setText("Game Over");
}
}
});