Я пишу код для приложения по математике, которое должно задавать дополнительные вопросы, используя случайные числа. Эта часть работает, проблема в том, когда я использую цикл. Цикл переходит к концу, и когда я использую отладчик, я вижу, что метод onclick никогда не запускается до последней итерации, потому что первый вопрос никогда не отображается и ввод не производится. Я попытался поместить петлю в разные места и использовал разные петли. Самое смешное, что я даже использовал цикл do, который должен задать первый вопрос, а затем цикл, но это всегда последний отображаемый вопрос.
Это основной код
public void generateAdditionQuiz() {
setContentView(R.layout.quiz);
TextView text_view_question = (TextView) findViewById(R.id.text_view_question);
TextView text_view_feedback = (TextView) findViewById(R.id.score);
do{
final String question = addition();
text_view_question.setText(""+question);
text_view_feedback.setText("score " + questionsAnswdCrrct + "question # " + questionsMAX);
Log.i("My Acy", "questions " + questionsMAX);
Button buttonSend = (Button) findViewById(R.id.button_send);
buttonSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText answerInput = (EditText) findViewById(R.id.answer_field);
// parse input string to int
int answer = Integer.parseInt(answerInput.getText().toString());
String[] arrayQuestion = question.split("\\+");
// parse string array to int array
int[] parsedQuestion = new int[arrayQuestion.length];
int questionSum = 0;
for (int i = 0; i < arrayQuestion.length; i++) {
parsedQuestion[i] = Integer.parseInt(arrayQuestion[i]);
questionSum += parsedQuestion[i];
}
if (answer == questionSum) {
questionsAnswdCrrct++;
} else {
//text_view_feedback.setText("Incorrect");
}
}
});questionsMAX++;
}while(questionsMAX<=2);
}