将数据库导入资产后,我成功地从中读取,并为我的活动中的四个按钮分配随机答案:
try{
mDbHelper.open(); //open db
Cursor c = mDbHelper.getTestData();
question.setText(c.getString(1));
List<String> labels = new ArrayList<String>();
labels.add(c.getString(2));
labels.add(c.getString(3));
labels.add(c.getString(4));
labels.add(c.getString(5));
Collections.shuffle(labels);
bOdgovor1.setText(labels.get(0));
bOdgovor2.setText(labels.get(1));
bOdgovor3.setText(labels.get(2));
bOdgovor4.setText(labels.get(3));
}
finally{ // close db
mDbHelper.close();
}
我的正确答案总是 c.getString(2) (我的 sqlite db 中有一个列设置为 ANSWER 并且它的 ID=2)。之后,我将每个按钮的 onClickListener 设置为用另一个问题重新激活活动:
bOdgovor1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
startActivity(getIntent());
}
});
如何检查什么是正确答案?