是否可以检索占用使用随机数组的imageView的可绘制名称

时间:2015-05-05 04:19:09

标签: java android

我有一个教育性的儿童游戏,其中的目标是将图像与正确的答案相匹配,为可能的答案提供4个按钮。第一部分是随机填充imageView的drawables,从不重复到游戏结束。这部分我已经想出并且有效。我遇到问题的部分是处理如何比较当时imageView中的随机图像的想法。 1.确保四个选项中的一个是正确的答案 2.比较当时点击的内容与imageView中的内容。

我试过imgView.getId(); ,但它没有用。

阵列

private ArrayList<Integer> res1 = new ArrayList<Integer>();
int arrPos = 0;

随机化的方法

private void randomImage1() {
    Collections.shuffle(res1);
    imgView.setImageResource(res1.get(arrPos));
    arrPos = arrPos + 1;

}

onclick

        button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(counter <= 2){

                imgView.setImageResource(res1.get(arrPos));
            //randomImage1();
            counter = counter + 1;
            arrPos = arrPos+1;
            System.out.println(arrPos);

            Toast.makeText(getApplicationContext(), Integer.toString(counter) , 
                       Toast.LENGTH_SHORT).show();
            }else if(counter == 3){
                Toast.makeText(getApplicationContext(), Integer.toString(counter) + "Game Over", 
                           Toast.LENGTH_SHORT).show();
            }
        }
    });

2 个答案:

答案 0 :(得分:0)

我的想法是为每个图像分配一个id +正确的答案,并维护一个可用的id列表(带有相应的图像和正确的答案)。所以对于你的问题:

  1. 确保四个选项中的一个是正确答案

    获取随机ID,获取相应的图像以显示相应的正确答案,成为4个选项之一。从列表中取出id,从id的其余部分及其相应的答案中获取3个其他选项。

  2. 比较点击当时imageView中的内容。

    当您显示ImageView和选项时,您可以使用android:tag来保留正确答案和错误答案的ID。 然后在您的代码中,在视图上使用getTag()来获取图片的ID和所选答案以进行比较。

  3. 希望它有所帮助。

答案 1 :(得分:0)

为每个图像设置一个ID,并在点击时获取图像的ID。维护HashMap,以便在所选图像与其答案之间进行比较。