Мое приложение для Android викторины продолжает падать - PullRequest
0 голосов
/ 30 августа 2018

Я занимаюсь разработкой приложения для викторины, и я столкнулся с моим Countdowntimer, который показывает случайные значения в textView, который я ему назначил, а кнопки Option не возвращаются к цвету, который я присвоил ему после того, как он был нажат, вот мой код

public void selectEasy(View view){
    if (view.getTag().toString().equals(Integer.toString(locationOfCorrectAnswer))){
        view.setBackgroundResource(R.drawable.button_right);
        score++;

    } else{

        view.setBackgroundResource(R.drawable.button_wrong);

        if (button0.getTag().toString().equals(Integer.toString(locationOfCorrectAnswer))){
            button0.setBackgroundResource(R.drawable.button_right);
        }else if (button1.getTag().toString().equals(Integer.toString(locationOfCorrectAnswer))){
            button1.setBackgroundResource(R.drawable.button_right);
        }else if (button2.getTag().toString().equals(Integer.toString(locationOfCorrectAnswer))){
            button2.setBackgroundResource(R.drawable.button_right);
        }else if (button3.getTag().toString().equals(Integer.toString(locationOfCorrectAnswer))){
            button3.setBackgroundResource(R.drawable.button_right);
        }
    }
    GenerateQuestion();
}

второй метод генерации случайного вопроса

public void GenerateQuestion(){


    question++;
    Easy_score.setText(Integer.toString(score));
    Easy_question.setText(Integer.toString(question) + "/"+ 10);
    Easy_time.setText(10 + "s");
    button0.setBackgroundResource(R.drawable.button_style);
    button1.setBackgroundResource(R.drawable.button_style);
    button2.setBackgroundResource(R.drawable.button_style);
    button3.setBackgroundResource(R.drawable.button_style);

    new CountDownTimer(10100, 1000){
        @Override
        public void onTick(long millinseconds) {
            Easy_time.setText(String.valueOf(millinseconds / 1000) + "s");
        }

        @Override
        public void onFinish() {

            GenerateQuestion();
        }
    }.start();

    int[] picture = {};

    String[] incorrectOption = {};


    Random random = new Random();

    displayPicture = random.nextInt(21);

    display.setImageResource(picture[displayPicture]);

    answers.clear();

    locationOfCorrectAnswer = random.nextInt(4);

    for (int i = 0; i < 4; i++){

        if (i == locationOfCorrectAnswer){

            answers.add(getResources().getResourceEntryName(picture[displayPicture]));

        } else {

            LocationOfWrongAnswer = random.nextInt(36);

            while (LocationOfWrongAnswer == displayPicture) {
                LocationOfWrongAnswer = random.nextInt(36);
            }

            answers.add(incorrectOption[LocationOfWrongAnswer]);

        }


    }

    button0.setText(" A. " + answers.get(0).substring(4).replace("_"," ").replace("1", "-"));
    button1.setText(" B. " + answers.get(1).substring(4).replace("_"," ").replace("1", "-"));
    button2.setText(" C. " + answers.get(2).substring(4).replace("_"," ").replace("1", "-"));
    button3.setText(" D. " + answers.get(3).substring(4).replace("_"," ").replace("1", "-"));

}

Обратный отсчет отображает случайные значения при нажатии кнопки, и кнопка не возвращается к исходному цвету

...