Цикл переходит к последней итерации - PullRequest
0 голосов
/ 04 июля 2018

Я пишу код для приложения по математике, которое должно задавать дополнительные вопросы, используя случайные числа. Эта часть работает, проблема в том, когда я использую цикл. Цикл переходит к концу, и когда я использую отладчик, я вижу, что метод 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...