각 행에 체크박스를 넣느라고 이 클래스를 상속받아 작업하고 있는데요.

SimpleCursorAdaptor보다 상속받아 쓰기가 편하더라구요..

다른건 다 정상인데 체크버튼이 스크롤올렸다 내리면 바뀝니다..;

일부러 bindview 메소드에서 boolean형 배열을 참조해서 체크여부를 표시하게 만들었는데도 불구하고,

정상적으로 동작하지 않습니다. 이런 문제는 어떻게 해결하나요?

코드는 아래있습니다.

public class MyCursorAdapter extends ResourceCursorAdapter{
 Activity context;
 boolean[] group_check;
 Cursor cursor;
 
 public MyCursorAdapter(Activity context, Cursor c, boolean[] group_check) {
  // TODO Auto-generated constructor stub
  super(context, R.layout.view_point_row1, c);
  this.context = context;
  this.cursor = c;
  this.group_check = group_check;
 }
 
 @Override
 public View newView(Context context, Cursor cursor, ViewGroup parent) {
  // TODO Auto-generated method stub
  LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  return inflater.inflate(R.layout.view_point_row1, parent, false);
 }
 
 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  // TODO Auto-generated method stub
  return super.getView(position, convertView, parent);
 }

 @Override
 public void bindView(View view, Context context, Cursor cursor) {
  // TODO Auto-generated method stub
  TextView group_number_view = (TextView)view.findViewById(R.id.row1_text1);
  group_number_view.setText(String.valueOf(cursor.getInt(1)));
  TextView group_name_view = (TextView)view.findViewById(R.id.row1_text2);
  group_name_view.setText(cursor.getString(2));
  CheckBox group_check_box = (CheckBox)view.findViewById(R.id.row1_check);
  group_check_box.setChecked(group_check[cursor.getPosition()]);
  group_check_box.setTag(new Integer(cursor.getPosition()));
  group_check_box.setFocusable(false);
  group_check_box.setOnCheckedChangeListener(new OnCheckedChangeListener(){
   @Override
   public void onCheckedChanged(CompoundButton buttonView,
     boolean isChecked) {
    // TODO Auto-generated method stub
    group_check[((Integer)buttonView.getTag()).intValue()] = isChecked;
   }
  });
 }
}