각 행에 체크박스를 넣느라고 이 클래스를 상속받아 작업하고 있는데요.
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;
}
});
}
}



