Я новичок в программировании, и я создаю простое приложение для викторины на Android. Мой вопрос: я хочу создать разные категории вопросов. Я использовал базу данных sqlite. я успешно создал категорию «Общие вопросы» и вот код:Android quiz app
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++;
}
Теперь мой вопрос, если я хочу, чтобы реализовать другую категорию следует использовать другую активность и наследовать класс от MainActivity? Databse содержит пять вопросов для 1-й категории и других 5 для второй категории. Я использовал наследование, но сбой приложений .. Кто-нибудь, пожалуйста, помогите мне в реализации наследования?
Заранее благодарен
Если вы хотите получить вопросы из базы данных, ** И ** количество вопросов исправлено, одно действие предпочтительнее. Просто задайте вопросы, которые вы выбираете, в зависимости от категории. –
В переменной answerCheck() переменная qid установлена для 1-й категории i.e она будет работать от qid 0 до qid 4 .. Теперь, как установить ее для qid 6 в qid 10? – awesum
Не сравнивайте qid. Возьмите другую переменную category_id и действуйте соответственно. –