Android测验应用

时间:2014-09-03 06:31:32

标签: android

我是编程的新手,我正在Android中创建一个简单的测验应用程序。我的问题是我想创建不同类别的问题。我用过sqlite数据库。 我已成功创建了“常见问题”类别,以下是代码:

List<Question> question_list;
int score = 0; 
int qid = 0;
Question currentQ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    QuizHelper qh = new QuizHelper(this);
    question_list=qh.getAllQuestions();
    currentQ = question_list.get(qid);
    tv_question = (TextView)findViewById(R.id.tv_question);
    rda = (RadioButton)findViewById(R.id.radio1);
    rdb = (RadioButton)findViewById(R.id.radio2);
    rdc = (RadioButton)findViewById(R.id.radio3);
    rdd = (RadioButton)findViewById(R.id.radio4);
    rde = (RadioButton)findViewById(R.id.radio5);
    btn_next = (Button)findViewById(R.id.button1);
    setQuestionView();
    rg = (RadioGroup)findViewById(R.id.RadioGroup1);
    btn_next.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) 
        {
                answerCheck();

        }
    });
}

   public void answerCheck(){
     rda.setChecked(false);
        rdb.setChecked(false);
        rdc.setChecked(false);
        rdd.setChecked(false);
        rde.setChecked(false);

        rda.setClickable(true);
        rdb.setClickable(true);
        rdc.setClickable(true);
        rdd.setClickable(true);
        rde.setClickable(true);

        rg = (RadioGroup)findViewById(R.id.RadioGroup1);
        answer = (RadioButton)findViewById(rg.getCheckedRadioButtonId());

        if(answer != null){
            if(currentQ.getANSWER().equals(answer.getText()))
            {
                score++;
                Log.d("myscore", "" + score );
            }

        }

    if(qid < 5){
    currentQ = question_list.get(qid);
    setQuestionView();
    }       
}

public void setQuestionView(){
    counter.start();
    tv_question.setText(currentQ.getQUESTION());
    rda.setText(currentQ.getOPTA());
    rdb.setText(currentQ.getOPTB());
    rdc.setText(currentQ.getOPTC());
    rdd.setText(currentQ.getOPTD());
    rde.setText(currentQ.getOPTE());
    qid++;
}

现在我的问题是,如果我想使用其他Activity并从MainActivity继承该类,是否要实现另一个类别?数据库包含第一类的五个问题和第二类的其他5个问题。我使用了继承但应用程序崩溃了。有人可以帮助我实现继承吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

不,您应该只使用一项活动。 您可以根据您的类别制作通用问题布局并对其进行多次充气。 现在只需查询“getQuestionByCategory(categoryId)”并在您的应用中使用。