我有一张表c_question
,其中我用这个结构存储了一些问题
autoincrement column _id,
question,
option1,
option2,
option3,
correct_answer
现在我想在TextView中检索问题并在RadioGroup中检索答案 如果用户选择了正确答案,则问题和选项将发生变化 在同一页面。
Logcat:主要的致命异常..... cursorIndexOutOfBoundException
输出显示我在数据库中输入的最后一个数据(带答案的问题),如果我点击任何答案,应用程序崩溃。
String row="SELECT* FROM c_question";
final Cursor c=db.rawQuery(row, null);
c.moveToFirst();
if(c.moveToFirst())
{
do
{
tv1.setText(c.getString(1));
r0=(RadioButton)findViewById(R.id.radio0);
r0.setText(c.getString(2));
r1=(RadioButton)findViewById(R.id.radio1);
r1.setText(c.getString(3));
r2=(RadioButton)findViewById(R.id.radio2);
r2.setText(c.getString(4));
k.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int idd=r.getCheckedRadioButtonId();
r0=(RadioButton)findViewById(idd);
String r=r0.getText().toString();
if(r.equals(c.getString(5)))
{
Toast.makeText(QuestionsOn.this, "correct!!!", 123).show();
;
} else
Toast.makeText(QuestionsOn.this, "Incorrect!!!", 123).show();
}
});
} while(c.moveToNext());
}
答案 0 :(得分:0)
输出显示我在DB中输入的最后一个数据(选项问题)
这是您在循环中更新保存视图时获得的内容;只会显示最后一行“
。”如果要显示数据库中的数据列表,则需要在ListView / ViewPager中使用一些Adapter类
如果我点击任何选项,应用程序崩溃......
根据错误,c.getString(5)
不存在,因此您似乎没有使用正确的列数创建数据库。