非活动课程

时间:2016-08-23 15:59:09

标签: java android

我为测验创建了一个类,其中每个问题都是ReviewLogic自己的对象。

在我创建ReviewLogic0后跟ReviewLogic1的活动中,活动会加载ReviewLogic1中的所有内容。

回顾这个课程,我想我需要一个循环来继续循环,直到问题成功回答,然后终止以允许正确加载下一个对象。

我的问题是我不确定在何处以及如何应用此循环。

我尝试使用while循环时考虑while (!questionAnswered) { if... else... }然而这会给我一个无限循环并崩溃。

逻辑很简单:有4个

    answer3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            answer0.setBackgroundResource(R.drawable.unselectedbutton);
            answer1.setBackgroundResource(R.drawable.unselectedbutton);
            answer2.setBackgroundResource(R.drawable.unselectedbutton);
            answer3.setBackgroundResource(R.drawable.selectedbutton);
            answerSelect = 3;
        }
    });

和实际的逻辑组件

    btnSubmit.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
                if (answerSelect == correctAnswer) {
                    makeToast(context, "Correct!");

                } else {
                    makeToast(context, "Try again.");
                }

        }
    });

活动类

 ReviewLogic question1 = new ReviewLogic(1, textReviewBody,"Question 1 place holder",
            textTitle,btnReview0,
            btnReview1,btnReview2, btnReview3, btnReviewSubmit,
            btnReviewContinue, GetStarted.this);
    question1.setVisibilityAll();
    question1.setAnswer0("0");
    question1.setAnswer1("1");
    question1.setAnswer2("2");
    question1.setAnswer3("3");

    ReviewLogic question2 = new ReviewLogic(1,textReviewBody,"Question 2 loading early.",
            textTitle,btnReview0,
            btnReview1,btnReview2, btnReview3, btnReviewSubmit,
            btnReviewContinue, GetStarted.this);
    question2.setVisibilityTwo();
    question2.setAnswer0("ans 1");
    question2.setAnswer1("ans 2");
}

哪里(和什么类型)是启动循环的最佳位置,以便活动不只是自动加载下一个对象?

由于

1 个答案:

答案 0 :(得分:0)

如果你有一个ViewPager,其中包含一个片段的多个实例,这些实例都有你问题的对象,那么你只需要处理其中一个答案中的点击,然后再调用下一个片段。这样你就不需要使用循环了。您可以实现调用其他活动而不是ViewPager

中的片段的相同效果