首页 > 解决方案 > Android - 我如何在一段时间内执行一个活动,然后当它完成后,它会执行另一个?

问题描述

我正在做一份包含 10 个问题的问卷。我的问题是我可以一直运行问题直到第 9 个问题,当我回答它时,它会跳过第 10 个问题并直接进入下一个活动。我还是新手。

private void updateQuestion(){
    question.setText(surveyQuestions.getQuestion(sSurveyQuestion));
    btn1.setText(surveyQuestions.getChoice1(sSurveyQuestion));
    btn2.setText(surveyQuestions.getChoice2(sSurveyQuestion));
    btn3.setText(surveyQuestions.getChoice3(sSurveyQuestion));
    btn4.setText(surveyQuestions.getChoice4(sSurveyQuestion));
    btn5.setText(surveyQuestions.getChoice5(sSurveyQuestion));

    sAnswer = surveyQuestions.getAnswer(sSurveyQuestion);
    sSurveyQuestion++;
    questloop();
}

这是显示问题和选择的代码。

这是下一个活动的代码:

private void questLoop() {
    if(sSurveyQuestion == 10) {
        btn1.setVisibility(View.INVISIBLE);
        btn2.setVisibility(View.INVISIBLE);
        btn3.setVisibility(View.INVISIBLE);
        btn4.setVisibility(View.INVISIBLE);
        btn5.setVisibility(View.INVISIBLE);

        btnNext.setVisibility(View.VISIBLE);
        btnNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                nextActivity();
            }
        });

        btnRetake.setVisibility(View.VISIBLE);
        btnRetake.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Redo();
            }
        });
    }
}

基本上计划是,一旦所有 10 个问题都得到回答,选择按钮将不可见,而下一个活动按钮将可见。

任何人都可以通过展示任何示例来提供帮助吗?我还没有完全掌握 for 循环的窍门。

标签: androidloopsfor-loop

解决方案


那是因为从你的情况来看if(sSurveyQuestion == 10)。因此,如果问题是 10 号,那么它将执行您的下一个活动。要解决此问题,您必须检查是否显示所有 10 个问题,方法是更改​​为:

private void questLoop() {
   if(sSurveyQuestion > 10) {
     ...
   }
}

推荐阅读