私はListItem
人名e.g. ABCD
を持っていて、 RadioGroup
2つ持っていRadioButtons
ます。のbindView()
いずれかをクリックするとRadioButton
、名前が のデータが更新されますABCD
。しかし、ListViewに表示されているlastItemのみを更新しています。ここに私の BindView() があります:
@Override
public void bindView(View view, Context context, Cursor cursor) {
holder = new Holder();
holder.stName = (TextView)view.findViewById(R.id.stName);
holder.stName.setText(cursor.getString(cursor.getColumnIndex(AttendanceContentProvider.STUDENT_NAME)));
_id_ = cursor.getString(cursor.getColumnIndex(AttendanceContentProvider._ID));
_name_ = cursor.getString(cursor.getColumnIndex(AttendanceContentProvider.STUDENT_NAME));
radioGroup = (RadioGroup) view.findViewById(R.id.radioGroup1);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId) {
ContentValues values = new ContentValues();
switch (checkedId) {
case PRESENT:
values.put(AttendanceContentProvider.PRESENT, checkedId);
break;
case ABSENT:
values.put(AttendanceContentProvider.ABSENT, checkedId);
break;
case LEAVE:
values.put(AttendanceContentProvider.LEAVE, checkedId);
break;
default:
break;
}
String where = "((" +
AttendanceContentProvider._ID + " LIKE '"+_id_+"') AND (" +
AttendanceContentProvider.STUDENT_NAME + " LIKE '"+_name_+"') AND (" +
AttendanceContentProvider._ID + " NOTNULL ))";
getActivity().getContentResolver().update(AttendanceContentProvider.STUDENTS_URI, values, where, null);
}
});
}