Android 安卓-我如何在特定时间内执行某项活动,然后在该时间';完成后,它将执行另一个?
我正在做一份包含10个问题的调查问卷。我的问题是,我可以一直问到第9个问题,当我回答时,它跳过第10个问题,直接进入下一个活动。我还是个新手Android 安卓-我如何在特定时间内执行某项活动,然后在该时间';完成后,它将执行另一个?,android,loops,for-loop,Android,Loops,For Loop,我正在做一份包含10个问题的调查问卷。我的问题是,我可以一直问到第9个问题,当我回答时,它跳过第10个问题,直接进入下一个活动。我还是个新手 private void updateQuestion(){ question.setText(surveyQuestions.getQuestion(sSurveyQuestion)); btn1.setText(surveyQuestions.getChoice1(sSurveyQuestion)); btn2.setText(
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循环的诀窍。这是因为根据您的条件
if(sSurveyQuestion==10)
。所以,若问题是第10个,那个么它将执行你们的下一个活动。要解决此问题,您必须通过更改为来检查是否显示了所有10个问题:
private void questLoop() {
if(sSurveyQuestion > 10) {
...
}
}
这是因为根据您的条件
if(sSurveyQuestion==10)
。所以,若问题是第10个,那个么它将执行你们的下一个活动。要解决此问题,您必须通过更改为来检查是否显示了所有10个问题:
private void questLoop() {
if(sSurveyQuestion > 10) {
...
}
}
如果没有看到相关的代码,我想你可以使用
sSurveyQuestion>10
如果没有看到相关的代码,我想你可以使用sSurveyQuestion>10
谢谢,我已经把这10个问题都显示出来了。但是,我遇到了另一个问题。它现在显示了这个错误:java.lang.ArrayIndexOutOfBoundsException:length=10;索引=10@Nazreen-可能您正在尝试再次调用updateQuestion()
方法,即使您的sSurveyQuestion
已经大于10。您必须添加一个限制,即如果您的sSurveyQuestion
大于您的surveyQuestions
的大小,则不要调用您的updateQuestion()
。谢谢,我已经准备好显示所有10个问题。但是,我遇到了另一个问题。它现在显示了这个错误:java.lang.ArrayIndexOutOfBoundsException:length=10;索引=10@Nazreen-可能您正在尝试再次调用updateQuestion()
方法,即使您的sSurveyQuestion
已经大于10。您必须添加一个限制,即如果您的sSurveyQuestion
大于您的surveyQuestions
的大小,则不要调用您的updateQuestion()
。