У меня есть ListActivity с каждой строкой в списке, содержащей 2 TextViews и 4 RadioButton.
2 TextViews заполняются из SimpleCursorAdapter, извлекающего данные из таблицы в моей базе данных, а 4 RadioButton просто помещаются в код xml (их идентификаторы присваиваются 4 переменным RadioButton в коде Java.
По сути, я хочу проверить состояние каждой радиокнопки в каждой строке, чтобы соответствующим образом обновить мою базу данных.
Как мне получить доступ к каждой строке RadioButton, чтобы проверить, проверены ли они или нет?
Я прошу прощения, если это расплывчато, я постараюсь добавить больше деталей, если это необходимо.
Большое спасибо.
private void processAttendance(){
int index = 0;
this.allStudentsCursor = mDbHelper.fetchEnrolledStudents(mRowId);
lvList=(ListView)findViewById(android.R.id.list);
this.allStudentsCursor.moveToFirst();
while (allStudentsCursor.isAfterLast() == false) {
this.radGroup = (RadioGroup) lvList.getChildAt(index).findViewById(R.id.attendanceGroup);
this.mAttended = (RadioButton)lvList.getChildAt(index).findViewById(R.id.presentRadio);
this.mLate = (RadioButton)lvList.getChildAt(index).findViewById(R.id.lateRadio);
this.mExcused = (RadioButton)lvList.getChildAt(index).findViewById(R.id.excusedRadio);
this.mMissed = (RadioButton)lvList.getChildAt(index).findViewById(R.id.absentRadio);
this.mStudentId = allStudentsCursor.getLong(allStudentsCursor.getColumnIndexOrThrow("_id"));
this.mResult = "";
if(mAttended.isChecked()){
this.mResult ="attended";
radGroup.clearCheck();
}
else if(mExcused.isChecked()){
this.mResult ="excused";
}
else if(mMissed.isChecked()){
this.mResult ="missed";
}
else {
this.mResult ="late";
}
Calendar cal = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
String date = dateFormat.format(cal.getTime());
this.mDbHelper.addAttendance(date, this.mResult, this.mStudentId, mRowId);
allStudentsCursor.moveToNext();
index++;
}
finish();
}