0

我想用 viewpager 在问题之间滑动

1) 我可以通过以下代码使用自定义页面,例如 ("text1", "text2", "text3, "text4"):在 pageadapter 中:

 protected static final String[] CONTENT = new String[] { "text1", "text2", "text3, "text4", };

1)但我无法将数据从数据库获取到字符串,例如:

new String[] { "myquestion1", "myquestion2", ....... "my lastquestion", }

在我的测验活动中:

/**
     * 
     */
    public void initView() {
        this.manageView(true);
    }

    /**
     * updates the user interface
     * 
     * @param start whether this is the start of the quiz
     */
    @SuppressWarnings("boxing")
    public void manageView(final boolean start) {
        if (QuizActivity.ll.getChildCount() > 0) {
            QuizActivity.ll.removeAllViews();
            QuizActivity.ll.addView(QuizActivity.questionText);
        }

        QuizActivity.warning.setVisibility(View.INVISIBLE);
        QuizActivity.warningIcon.setVisibility(View.INVISIBLE);
        if (this.q.isReviewing()) {
            QuizActivity.warning.setVisibility(View.VISIBLE);
            QuizActivity.warningIcon.setVisibility(View.VISIBLE);
            if (this.q.getCurrentQuestion().isAnsweredCorrect()) {
                QuizActivity.warning.setText(R.string.correct);
                QuizActivity.warning.setTextColor(Statics.goodColor);
                QuizActivity.warningIcon.setImageResource(R.drawable.correct);
            } else {
                QuizActivity.warning.setText(R.string.wrong);
                QuizActivity.warning.setTextColor(Statics.badColor);
                QuizActivity.warningIcon.setImageResource(R.drawable.wrong);
            }
        }
        QuizActivity.back.setEnabled((!start || this.q.isBackAllowed())
                && (!this.q.isFirstQuestion()));
        if (this.q.isLastQuestion()) {
            QuizActivity.next.setText(R.string.finish);
            QuizActivity.next.setCompoundDrawablesWithIntrinsicBounds(null, null,
                    this.getResources().getDrawable(R.drawable.finish_quiz), null);
        } else {
            QuizActivity.next.setText(R.string.next);

            QuizActivity.next.setCompoundDrawablesWithIntrinsicBounds(null, null,
                    this.getResources().getDrawable(R.drawable.arrow_right), null);
        }
        QuizActivity.review.setChecked(this.q.getCurrentQuestion().isMarkedForReview());
        if (this.q.isReviewing()) {
            QuizActivity.review.setVisibility(View.GONE);
            if ((null != this.q.getCurrentQuestion().getExplanation())
                    && (this.q.getCurrentQuestion().getExplanation().length() > 0)) {
                QuizActivity.explain.setVisibility(View.VISIBLE);
            } else {
                QuizActivity.explain.setVisibility(View.GONE);
            }
        }
        QuizActivity.progress.setText(this.getString(R.string.q_) + " "
                + this.q.getCurrentQuestionNumber() + "/"
                + this.q.getQuestionCount());
        QuizActivity.title.setText(this.q.getCategory().getParentCategoryTitle() + " - "
                + this.q.getCategory().getCategoryTitle());
        QuizActivity.questionText.setText(this.q.getCurrentQuestion().getQuestionText());
        if (this.q.isShowAmountAnswers()) {
            QuizActivity.questionText.append(" (" + this.getString(R.string.select) +
                    " " + this.q.getCurrentQuestion().getAmountCorrectAnswers() + ")");
        }
        this.userAnswers = this.q.getCurrentQuestion().getUserAnswers();
        this.answers = new LinkedList<CompoundButton>();

        if (!this.q.isShowAmountAnswers()
                || (this.q.getCurrentQuestion().getAmountCorrectAnswers() > 1)) {

            for (final Answer ans : this.q.getCurrentQuestion().getAnswers()) {
                this.answers.add(new CheckBox(this));
                this.answers.getLast().setText(ans.getAnswerText());
                this.answers.getLast().setId(ans.getAnswerId());
                this.answers.getLast().setChecked(this.userAnswers.get(ans.getAnswerId()));
                if (this.q.isReviewing()) {
                    this.answers.getLast().setEnabled(false);
                    if (ans.isAnswerCorrect()) {
                        this.answers.getLast().setTextColor(Statics
                                .goodColor);
                    } else {
                        this.answers.getLast().setTextColor(Statics
                                .badColor);
                    }
                }
                QuizActivity.ll.addView(this.answers.getLast());
            }
        } else {
            final RadioGroup rg = new RadioGroup(this);

            for (final Answer ans : this.q.getCurrentQuestion().getAnswers()) {
                this.answers.add(new RadioButton(this));
                this.answers.getLast().setText(ans.getAnswerText());
                this.answers.getLast().setId(ans.getAnswerId());
                this.answers.getLast().setChecked(this.userAnswers.get(ans.getAnswerId()));
                if (this.q.isReviewing()) {

                    this.answers.getLast().setEnabled(false);
                    if (ans.isAnswerCorrect()) {
                        this.answers.getLast().setTextColor(Statics
                                .goodColor);
                    } else {
                        this.answers.getLast().setTextColor(Statics
                                .badColor);
                    }
                }
                this.answers.getLast()
                        .setOnCheckedChangeListener(new OnCheckedChangeListener() {
                            @SuppressWarnings("synthetic-access")
                            @Override
                            public void onCheckedChanged(final CompoundButton buttonView,
                                    final boolean isChecked) {
                                for (final View rb : QuizActivity.this.answers)
                        {
                            ((CompoundButton) rb).setChecked(false);
                        }
                        buttonView.setChecked(isChecked);
                    }
                        });
                rg.addView(this.answers.getLast());
            }
            QuizActivity.ll.addView(rg);
        }

        QuizActivity.next.setOnClickListener(this);
        QuizActivity.back.setOnClickListener(this);
        QuizActivity.explain.setOnClickListener(this);
    }

那么如何将我的问题列表应用于“ new String[] {...,...,... } ”

4

0 回答 0