Java 是否可以检索到';它占用的图像视图为';s使用随机数组

Java 是否可以检索到';它占用的图像视图为';s使用随机数组,java,android,Java,Android,我有一个教育性的儿童游戏,目标是将图像与正确答案匹配,为可能的答案提供了4个按钮。第一部分是在imageView中随机填充可绘制的内容,这些内容在游戏结束前不会重复。这部分我已经弄明白了,而且很有效。我遇到的问题是如何将imageView中的随机图像与 1.确保四个选项中的一个是正确答案,并且 2.将单击的内容与当时imageView中的内容进行比较 我尝试了imgView.getId(),但它不起作用 排列 onclick button1.setOnClickListener(

我有一个教育性的儿童游戏,目标是将图像与正确答案匹配,为可能的答案提供了4个按钮。第一部分是在imageView中随机填充可绘制的内容,这些内容在游戏结束前不会重复。这部分我已经弄明白了,而且很有效。我遇到的问题是如何将imageView中的随机图像与 1.确保四个选项中的一个是正确答案,并且 2.将单击的内容与当时imageView中的内容进行比较

我尝试了imgView.getId(),但它不起作用

排列

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();
            }
        }
    });
button1.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根

如果(counter我的想法是为每张图片指定一个id+正确答案,并维护一个可用id列表(带有相应的图片和正确答案)。因此,对于您的问题:

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

    获取一个随机id,获取要显示的相应图像和相应的正确答案,将其作为4个选项之一。从列表中取出id,从其余id及其相应答案中获取3个其他选项

  • 将单击的内容与当时imageView中的内容进行比较

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


  • 希望有帮助。

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

    private void randomImage1() {
        Collections.shuffle(res1);
        imgView.setImageResource(res1.get(arrPos));
        arrPos = arrPos + 1;
    
    }
    
            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();
                }
            }
        });