Android ListView将item里的EditText数据存入数据库的存储问题
String category = info.get(i).getCategory(); //从数据库获取的类别值 以下根据类别存数据
showUtils.show(context,category+"category");
//根据题目类别存答案
if (category.equals("0")){
//单选
String answer = "";
if (radioBtnA.isChecked()){
answer = radioBtnA.getText().toString().substring(0, 1);
}else if (radioBtnB.isChecked()){
answer = radioBtnB.getText().toString().substring(0, 1);
}else if (radioBtnC.isChecked()){
answer = radioBtnC.getText().toString().substring(0, 1);
}else if (radioBtnD.isChecked()){
answer = radioBtnD.getText().toString().substring(0, 1);
}
sQuestions.setMyAnswer(answer);
showUtils.show(context,answer);
}
if (category.equals("1")){
//多选
String answer = "";
if (checkBoxBtnA.isChecked()){
answer += checkBoxBtnA.getText().toString().substring(0, 1);
}
if (checkBoxBtnB.isChecked()){
answer += checkBoxBtnB.getText().toString().substring(0, 1);
}
if (checkBoxBtnC.isChecked()){
answer += checkBoxBtnC.getText().toString().substring(0, 1);
}
if (checkBoxBtnD.isChecked()){
answer += checkBoxBtnD.getText().toString().substring(0, 1);
}
if (checkBoxBtnE.isChecked()){
answer += checkBoxBtnE.getText().toString().substring(0, 1);
}
sQuestions.setMyAnswer(answer);
showUtils.show(context,answer);
}else if (category.equals("2")){
//判断
String answer = "";
if (radioBtnR.isChecked()){
answer = radioBtnR.getText().toString().substring(0, 1);
}else if (radioBtnF.isChecked()){
answer = radioBtnF.getText().toString().substring(0, 1);
}
sQuestions.setMyAnswer(answer);
showUtils.show(context,answer);
}else if (category.equals("3")){
//填空
String answer;
// String answer = blankEdit.getText().toString();
int size = myAnswerList.size();
for (int j=0; j<size; j++){
String iString = i+"";
if (myAnswerList.get(j).get("position").equals(iString)){
answer = myAnswerList.get(j).get("myAnswer");
sQuestions.setMyAnswer(answer);
showUtils.show(context,answer);
}
}
}
list.add(sQuestions);
注:当EditText没有输入值时,所有答案都能存进数据库,但当EditText有值时,只有单选和填空才存进去了