@Override
    public View getView(int position, View convertView, ViewGroup parent) {
      ViewHolder holder = null;
      if (convertView == null) {
        holder = new ViewHolder();
        convertView = getLayoutInflater().inflate(R.layout.listitem_lesson_status, parent, false);
        holder.tv_per = (TextView) convertView.findViewById(R.id.item_les_perform_tv);
        holder.rg_per = (RadioGroup) convertView.findViewById(R.id.item_les_radioGroup);
        holder.radio0 = (RadioButton) convertView.findViewById(R.id.radio0);
        holder.radio1 = (RadioButton) convertView.findViewById(R.id.radio1);
        holder.radio2 = (RadioButton) convertView.findViewById(R.id.radio2);
        convertView.setTag(holder);
      } else {
        holder = (ViewHolder) convertView.getTag();
      }
      holder.tv_per.setText(pers[position]);
      if (!stuPersFromNet.isEmpty()) {
        if (stuPersFromNet.get(0).property_id == 10) {
          if (!isTeacher) {
            holder.radio0.setChecked(false);
            holder.radio1.setChecked(false);
            holder.radio2.setChecked(false);
          }
          final LessonPerformance performance = new LessonPerformance();
          performance.property_value = 1;
          performance.lesson_id = lessonId;
          performance.student_id = stuId;
          performance.property_id = position + 1;
          holder.rg_per.setOnCheckedChangeListener(
              new RadioGroup.OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                  switch (checkedId) {
                    case R.id.radio0:
                      performance.property_value = 1;
                      break;
                    case R.id.radio1:
                      performance.property_value = 2;
                      break;
                    case R.id.radio2:
                      performance.property_value = 3;
                      break;
                    default:
                      performance.property_value = 1;
                      break;
                  }
                }
              });
          lesPersToPost.add(performance);
        } else {
          if (position < stuPersFromNet.size()) {
            int value = stuPersFromNet.get(position).property_value;
            switch (value) {
              case 1:
                holder.radio0.setChecked(true);
                break;
              case 2:
                holder.radio1.setChecked(true);
                break;
              case 3:
                holder.radio2.setChecked(true);
                break;
            }
          }
          holder.rg_per.setEnabled(false);
          holder.radio0.setEnabled(false);
          holder.radio1.setEnabled(false);
          holder.radio2.setEnabled(false);
        }

      } else {
        if (!isTeacher) {
          holder.radio0.setChecked(false);
          holder.radio1.setChecked(false);
          holder.radio2.setChecked(false);
        }
        final LessonPerformance performance = new LessonPerformance();
        performance.property_value = 1;
        performance.lesson_id = lessonId;
        performance.student_id = stuId;
        performance.property_id = position + 1;
        holder.rg_per.setOnCheckedChangeListener(
            new RadioGroup.OnCheckedChangeListener() {

              @Override
              public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                  case R.id.radio0:
                    performance.property_value = 1;
                    break;
                  case R.id.radio1:
                    performance.property_value = 2;
                    break;
                  case R.id.radio2:
                    performance.property_value = 3;
                    break;
                  default:
                    performance.property_value = 1;
                    break;
                }
              }
            });
        lesPersToPost.add(performance);
      }
      if (!isTeacher) {
        holder.rg_per.setEnabled(false);
        holder.radio0.setEnabled(false);
        holder.radio1.setEnabled(false);
        holder.radio2.setEnabled(false);
      }
      return convertView;
    }