Ограничьте количество вопросов в приложении для викторины Android, мой список вопросов взят из базы данных Firebase Realtime - PullRequest
0 голосов
/ 05 марта 2019

Как я могу ограничить вопросы, закончить и отключить игру, если у меня есть 100 вопросов в категории?Я хочу ограничить его только 20 вопросами, перейти к результату и отключить кнопку запуска игры.

Мои 100 вопросов хранятся в Java Common.class ".List <>".

У меня есть класс «Вопрос», который содержит и вопрос, и соответствующий ответ.

Common.class:

public class Common {
    public static List<Question> questionList = new ArrayList<>();
}

Метод showQuestion:

private void showQuestion(final int index) {
    if (index < totalQuestion) {
        thisQuestion++;
        txtQuestionNum.setText(String.format("%d / %d", thisQuestion, totalQuestion));
        progressBar.setProgress(100);
        progressValue = 0;
        question_text.setText(Common.questionList.get(index).getQuestion());

        //if question is text we will set image to invisible
        btnA.setText(Common.questionList.get(index).getAnswerA());
        btnB.setText(Common.questionList.get(index).getAnswerB());
        btnC.setText(Common.questionList.get(index).getAnswerC());
        btnD.setText(Common.questionList.get(index).getAnswerD());

        mCountDown.start();
    }
    else {
        // if it is final question
        Intent intent = new Intent(Playing.this, Done.class);
        Bundle dataSend = new Bundle();
        dataSend.putInt("SCORE", score);
        dataSend.putInt("TOTAL", totalQuestion);
        dataSend.putInt("CORRECT", correctAnswer);
        intent.putExtras(dataSend);
        startActivity(intent);
        finish();
    }
}

Вопрос.класс:

public class Question {
    private String Question,AnswerA,AnswerB,AnswerC,AnswerD,CorrectAnswer,CategoryId;

    public Question() {
    }

    public Question(String question, String answerA, String answerB, String answerC, String answerD, String correctAnswer, String categoryId) {
        Question = question;
        AnswerA = answerA;
        AnswerB = answerB;
        AnswerC = answerC;
        AnswerD = answerD;
        CorrectAnswer = correctAnswer;
        this.CategoryId = categoryId;

    }

    public String getQuestion() {
        return Question;
    }

    public void setQuestion(String question) {
        Question = question;
    }

    public String getAnswerA() {
        return AnswerA;
    }

    public void setAnswerA(String answerA) {
        AnswerA = answerA;
    }

    public String getAnswerB() {
        return AnswerB;
    }

    public void setAnswerB(String answerB) {
        AnswerB = answerB;
    }

    public String getAnswerC() {
        return AnswerC;
    }

    public void setAnswerC(String answerC) {
        AnswerC = answerC;
    }

    public String getAnswerD() {
        return AnswerD;
    }

    public void setAnswerD(String answerD) {
        AnswerD = answerD;
    }

    public String getCorrectAnswer() {
        return CorrectAnswer;
    }

    public void setCorrectAnswer(String correctAnswer) {
        CorrectAnswer = correctAnswer;
    }

    public String getCategoryId() {
        return CategoryId;
    }

    public void setCategoryId(String categoryId) {
        this.CategoryId = categoryId;
    }
}

1 Ответ

0 голосов
/ 06 марта 2019

Закройте соединение для извлечения данных с firebase, когда в списке 20 ответов на вопросы, а затем обновите пользовательский интерфейс соответствующим образом.

Примерно так.

if(listWithQuestionsAndAnswers.size > 20)
{
 // stop thats enough, Update UI , disable game.
} else {
  // carry on.
}

Эта проверка должна выполняться в методе, который предоставляет вам моментальный снимок данных из firebase.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...