Я запрограммировал приложение-викторину, и если я касаюсь одного из ответов в AsyncTask, если ответ правильный, я устанавливаю цвет на зеленый или если он ложный на красный.
Но теперь во время работы AsyncTask я могу нажимать другие кнопки, такие как кнопка «изменить вопрос» или другой ответ. Затем это делается после того, как AsyncTask завершил свою работу. Таким образом, следующий вопрос загружается, и он автоматически отвечает на следующий вопрос или использует один из джокеров.
Я пытался установитьEnabled (false) для кнопок, но они по-прежнему глючат.
Как мне предотвратить это?
private void disableOrDisableButtons(boolean boo) {
buttonAnswer1.setEnabled(boo);
buttonAnswer2.setEnabled(boo);
buttonAnswer3.setEnabled(boo);
buttonAnswer4.setEnabled(boo);
}
и вот я запускаю AsyncTask
disableOrDisableButtons(false);
new PrepareAdapter().execute(null, null, null);
в моей AsyncTask
@Override
protected void onPreExecute() {
disableOrDisableButtons(false);
if (correctAnswerAtButton != buttonClicked) {
switch (buttonClicked) {
case 1:
buttonAnswer1.setTextColor(Color.RED);
break;
case 2:
buttonAnswer2.setTextColor(Color.RED);
break;
case 3:
buttonAnswer3.setTextColor(Color.RED);
break;
case 4:
buttonAnswer4.setTextColor(Color.RED);
break;
}
if (buttonClicked != 0) { // 0.. if second chance joker used
wrongAnswer = true;
}
}
switch (correctAnswerAtButton) {
case 1:
buttonAnswer1.setTextColor(Color.GREEN);
return;
case 2:
buttonAnswer2.setTextColor(Color.GREEN);
return;
case 3:
buttonAnswer3.setTextColor(Color.GREEN);
return;
case 4:
buttonAnswer4.setTextColor(Color.GREEN);
return;
}
}