繁体   English   中英

如何更好地构建代码

[英]How to better structure the code

我想知道如何在android内部创建测验环境。 我不希望的是,每当有人回答正确时(因为有100多个问题),都要开展一项新活动。

我正在使用ga radio group的thr回答问题的文本视图和一个转到下一个问题的按钮,

所以现在我的代码看起来像这样

   String questions[] = {"question1" , "question2".....};

  If (textview.gettext= "question1" && radioA.is selected= true) {
             RadioA.setText ("newAnswerHere");
              RadioB.setText("......)
    }

现在我知道我可以使用switch语句,但是必须有一种更简单的方法来做到这一点? 没有吗

您是否尝试过使用“问题”对象?

public class Question {

    String question;
    String[] answers;
    String correct;

    //methods

}

使用它,您可以将它们存储在数据对象中,然后使用它们而不是固定数组

我总是推荐最简单的模式: 提取方法

第一步

String questions[] = {"question1", "question2".....};

if (isQuestion1Selected()) {
  setNewAnswersHere()
}

private boolean isQuestionSelected() {    
    return textview.gettext().equals("question1") && radioA.isSelected == true;
}

private void setNewAnswersHere(){
    RadioA.setText("newAnswerHere");
    RadioB.setText("......);
}

但这只是第一步:)


第二步

String questions[] = {"question1", "question2".....};

if (isQuestionSelected(1)) {
  setNewAnswersHere()
}

private boolean isQuestionSelected(int number) {    
    return textview.gettext().equals("question" +  number) && radioA.isSelected == true;
}

private void setNewAnswersHere(){
    RadioA.setText("newAnswerHere");
    RadioB.setText("......);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM