Witajcie,
wyświetlanie odpowiedzi "Poprawna" , "Niepoprawna" odbywa się poprzez naciskanie przycisków 'Prawda' lub 'Fałsz' na zadane pytanie.
-
Jednak niezależnie czy nacisnę przycisk 'Prawda' czy 'Fałsz' wyświetlany jest jeden toast z odpowiedzią "Poprawna" lub "Niepoprawna" (rozumiem, że pobierany jest po prostu drugi argument z kolejnych obiektów
Question
). Jak to zmienić żeby toast był różny dla przycisków 'Prawda' i 'Fałsz'? -
Co oznacza w tym kodzie
int messageResId = 0;
i dlaczego tutajmessageResId = R.string.incorrect_toast;
mamy=R.string
a niefindViewById
? -
Dlaczego w przyciskach
mTrueButton
imFalseButton
mamy wcheckAnswer (true)
wartośćtrue
?
private Question[] mQuestionBank = new Question[] {
new Question(R.string.question_australia, true),
new Question(R.string.question_oceans, true),
new Question(R.string.question_mideast, false),
new Question(R.string.question_africa, false),
new Question(R.string.question_americas,true),
new Question(R.string.question_asia, true),
};
private void checkAnswer (boolean userPressedTrue){
boolean answerIsTrue = mQuestionBank[mCurrentIndex].isAnswerTrue();
int messageResId = 0;
if (userPressedTrue == answerIsTrue){
messageResId = R.string.correct_toast;
} else{
messageResId = R.string.incorrect_toast;
}
Toast.makeText(this, messageResId, Toast.LENGTH_SHORT).show();
}
mTrueButton = (Button) findViewById(R.id.true_button);
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
checkAnswer(true);
}
});
mFalseButton = (Button) findViewById(R.id.false_button);
mFalseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
checkAnswer(true);
}
});