我是编程的新手,我正在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个问题。我使用了继承但应用程序崩溃了。有人可以帮助我实现继承吗?
提前致谢
答案 0 :(得分:0)
不,您应该只使用一项活动。 您可以根据您的类别制作通用问题布局并对其进行多次充气。 现在只需查询“getQuestionByCategory(categoryId)”并在您的应用中使用。