public class ExamProgressAdapter extends BaseAdapter {
private Context mContext;
private LayoutInflater mInflater;
ArrayList<ExamQuestionData> listExamQuestionDatas;
private int mLayout;
public ExamProgressAdapter(Context _context, int layout,
ArrayList<ExamQuestionData> _listExamQuestionDatas) {
super();
this.mContext = _context;
this.mLayout = layout;
this.listExamQuestionDatas = _listExamQuestionDatas;
this.mInflater = (LayoutInflater) _context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return listExamQuestionDatas.size();
}
@Override
public Object getItem(int arg0) {
return listExamQuestionDatas.get(arg0);
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
PersonViewHolder viewHolder;
final int point = position;
if (convertView == null) {
// 캐시된 뷰가 없을 경우 새로 생성하고 뷰홀더를 생성한다
convertView = mInflater.inflate(mLayout, parent, false);
viewHolder = new PersonViewHolder();
viewHolder.tvNumber = (TextView) convertView
.findViewById(R.id_examprogress_item.tvNumber);
convertView.setTag(viewHolder);
} // 캐시된 뷰가 있을 경우 저장된 뷰홀더를 사용한다
else {
viewHolder = (PersonViewHolder) convertView.getTag();
}
viewHolder.tvNumber.setText(""
+ listExamQuestionDatas.get(point).number);
return convertView;
}
public class PersonViewHolder {
public TextView tvNumber;
}
}
이런식으로 해놨는데 만약 데이터가 100개 일경우 올렷다 내렷다하면 체크박스 체크된게 자꾸 밑에도 찍히고 포지션 화면에 보이지는거만큼 자꾸 반복적으로 0 1 2 3 4 5 이정도만 반복되는데 각각 체크박스 정보는 어떻게 기억해야하죠? ㅠㅠ



