@Override public View getView(final int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate(R.layout.itemweek, null); } TextView tvUserName = (TextView) convertView.findViewById(R.id.dispatch_item_select_week); final CheckBox ckbItem = (CheckBox) convertView.findViewById(R.id.dispatch_item_select_state); WeekDialog week = list.get(position); tvUserName.setText(week.getWeek()); ckbItem.setChecked(week.isChecked()); // 将选择状态保存在overalllist中 ckbItem.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { overalllist.get(position).setChecked(ckbItem.isChecked()); } }); week = null; return convertView; }