Я пытаюсь создать тест для детей по аутистическому спектру.Я хочу использовать изображения для ответов или, что еще лучше, кнопки с изображениями примерно так https://gyazo.com/2309e055184a4840c23a07bda0a5bf63. Мое приложение работает, но когда я делаю тест, я не могу получить правильные ответы, только неправильные.Похоже, оператор if не работает.Я хочу получить четыре статических ответа и только изменение ImageView
.Я не знаю, что делать.
public class Category2 extends AppCompatActivity{
private database2 database2 = new database2();
private ImageButton imageChoice1,imageChoice2,imageChoice3,imageChoice4;
ImageView iv_Pic;
private Button imageAnswerSpace;
int quizCount = 0;
int rightAnswerCount = 0;
private int mAnswer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_category2);
iv_Pic = (ImageView) findViewById(R.id.iv_Pic);
imageChoice1 = (ImageButton) findViewById(R.id.imageview1);
imageChoice2 = (ImageButton) findViewById(R.id.imageview2);
imageChoice3 = (ImageButton) findViewById(R.id.imageview3);
imageChoice4 = (ImageButton) findViewById(R.id.imageview4);
newQ();
imageChoice1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.imageview1 && (v.getId() == mAnswer)) {
Toast.makeText(Category2.this, "correct", Toast.LENGTH_SHORT).show();
newQ();
} else {
Toast.makeText(Category2.this, "wrong", Toast.LENGTH_SHORT).show();
newQ();
}
}
});
imageChoice2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.imageview2 && (v.getId()== mAnswer)){
Toast.makeText(Category2.this, "correct", Toast.LENGTH_SHORT).show();
newQ();
} else {
Toast.makeText(Category2.this, "wrong", Toast.LENGTH_SHORT).show();
newQ();
}
}
});
imageChoice3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.imageview3 && (v.getId()== mAnswer)) {
Toast.makeText(Category2.this, "correct", Toast.LENGTH_SHORT).show();
newQ();
} else {
Toast.makeText(Category2.this, "wrong", Toast.LENGTH_SHORT).show();
newQ();
}
}
});
imageChoice4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.imageview4 && (v.getId()== mAnswer)) {
Toast.makeText(Category2.this, "correct", Toast.LENGTH_SHORT).show();
newQ();
} else {
Toast.makeText(Category2.this, "wrong", Toast.LENGTH_SHORT).show();
newQ();
}
}
});
}
public void newQ() {
iv_Pic.setImageResource(database2.getImages(quizCount));
ImageView changeImage0 = findViewById(R.id.imageview1);
changeImage0.setImageResource(database2.getChoice1(quizCount));
ImageView changeImage1 = findViewById(R.id.imageview2);
changeImage1.setImageResource(database2.getChoice2(quizCount));
ImageView changeImage3 = findViewById(R.id.imageview3);
changeImage3.setImageResource(database2.getChoice3(quizCount));
ImageView changeImage4 = findViewById(R.id.imageview4);
changeImage4.setImageResource(database2.getChoice4(quizCount));
mAnswer = database2.getCorrectAnswer(quizCount);
if (quizCount < 4) {
quizCount++;
} else if (quizCount == 4) {
quizCount = 0;
}
}
}
public class database2 {
private Integer mImages[] = {
R.drawable.sad,
R.drawable.happy,
R.drawable.fear,
R.drawable.angry,
};
public static int mChoices[] [] = {
{
R.drawable.ic_angry,
R.drawable.ic_sad,
R.drawable.ic_scared,
R.drawable.ic_smiling
}, {
R.drawable.ic_angry,
R.drawable.ic_sad,
R.drawable.ic_scared,
R.drawable.ic_smiling
}, {
R.drawable.ic_angry,
R.drawable.ic_sad,
R.drawable.ic_scared,
R.drawable.ic_smiling
}, {
R.drawable.ic_angry,
R.drawable.ic_sad,
R.drawable.ic_scared,
R.drawable.ic_smiling
}
};
private Integer mCorrectAnswer[] = {
R.drawable.ic_sad,
R.drawable.ic_smiling,
R.drawable.ic_scared,
R.drawable.ic_angry
};
public Integer getImages(int a){
Integer image = mImages[a];
return image;
}
public Integer getChoice1(int a){
int choice0 = mChoices[a][0];
return choice0;
}
public Integer getChoice2(int a){
int choice1 = mChoices[a][1];
return choice1;
}
public Integer getChoice3(int a){
int choice2 = mChoices[a][2];
return choice2;
}
public Integer getChoice4(int a){
int choice3 = mChoices[a][3];
return choice3;
}
public Integer getCorrectAnswer(int a){
Integer answer = mCorrectAnswer[a];
return answer;
}
}