我有一个教育性的儿童游戏,其中的目标是将图像与正确的答案相匹配,为可能的答案提供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();
}
}
});
答案 0 :(得分:0)
我的想法是为每个图像分配一个id +正确的答案,并维护一个可用的id列表(带有相应的图像和正确的答案)。所以对于你的问题:
确保四个选项中的一个是正确答案
获取随机ID,获取相应的图像以显示相应的正确答案,成为4个选项之一。从列表中取出id,从id的其余部分及其相应的答案中获取3个其他选项。
比较点击当时imageView中的内容。
当您显示ImageView和选项时,您可以使用android:tag
来保留正确答案和错误答案的ID。
然后在您的代码中,在视图上使用getTag()
来获取图片的ID和所选答案以进行比较。
希望它有所帮助。
答案 1 :(得分:0)
为每个图像设置一个ID,并在点击时获取图像的ID。维护HashMap,以便在所选图像与其答案之间进行比较。