基于显示图像的onClick逻辑

时间:2017-12-11 13:03:12

标签: java android

如何根据点击时显示的图像更改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");
            }
        }
    });

0 个答案:

没有答案