@Override public View getView(int i, View view, ViewGroup viewGroup) { View v = view; if (v == null) { v = layoutInflater.inflate(R.layout.history_item, viewGroup, false); } v.setTag(i); final CheckBox cbHistory = (CheckBox) v.findViewById(R.id.cbHistory); cbHistory.setTag(i); v.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { cbHistory.setChecked(!cbHistory.isChecked()); if (cbHistory.isChecked()) { checkedModelsIDs.add(getItemId(Integer.parseInt(cbHistory.getTag().toString()))); } else { checkedModelsIDs.remove(getItemId(Integer.parseInt(cbHistory.getTag().toString()))); } } }); TripModel tripModel = tripModelList.get(i); TextView tvDate = ButterKnife.findById(v, R.id.tvDate); TextView tvMark = ButterKnife.findById(v, R.id.tvMark); TextView tvType = ButterKnife.findById(v, R.id.tvType); tvDate.setText(simpleDateFormat.format(tripModel.getFinishTime())); tvMark.setText(String.format(Double.toString(tripModel.getMark()))); tvType.setText(tripModel.getTripType().toString()); return v; }
public double getAverageMark() { // TODO: count only exams and practices double mark = 0; int count = 0; for (TripModel model : tripModelList) { if (model.getTripType().equals(AppConstants.TripType.EXAM) || model.getTripType().equals(AppConstants.TripType.PRACTICE)) { count++; mark += model.getMark(); } } if (count == 0) { return 5.0; } else { mark = mark / count; return mark; } }