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