@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {

      // BROWSE STATES
      final int NOT_BROWSE = 0, BROWSE_WORKOUT = 1, WORKOUT_BROWSE = 2;

      if ((convertView == null)) {
        convertView = getLayoutInflater().inflate(R.layout.b_frag_exercise_list_item, null);
      }

      final SwipableLinearLayout swipableLinearLayout =
          (SwipableLinearLayout) convertView.findViewById(R.id.swipeLayoutHandle);
      swipableLinearLayout.setSwipeOffset(slideVal);
      swipableLinearLayout.setSwipeLayoutListener(listener);
      swipableLinearLayout.percentageToDragEnable(75f);

      final Exercise e = getItem(position);
      TextView nameTextView = (TextView) convertView.findViewById(R.id.browseMenuExerciseNameView);
      nameTextView.setText(e.getName());
      TextView muscleTextView =
          (TextView) convertView.findViewById(R.id.browseMenuExerciseMuscleView);
      muscleTextView.setText(e.getMuscleGroup());
      TextView equipmentTextView =
          (TextView) convertView.findViewById(R.id.browseMenuExerciseEquip);
      equipmentTextView.setText(e.getEquipment());

      if (swipableLinearLayout.getX() != 0) {
        swipableLinearLayout.setX(0f);

        if (mTextViewHandle != null) mTextViewHandle.setOpen(false);

        mTextViewHandle = null;
      }
      swipableLinearLayout.refreshIcon();

      swipableLinearLayout.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              /*
              Exercise exercise = new Exercise();
              exercise.setName(e.getName());
              exercise.setId(e.getId());
              //Stubs
              //exercise.instantiateStubMetrics();
              for (Metric m : e.getMetrics()){
                  Metric nm = new Metric();
                  nm.setType(m.getType());
                  nm.setMetricIntValue(m.getMetricIntValue());
                  exercise.addMetrics(nm);
              }

              WorkoutData.get(mContext).setToggledExerciseExplicit(e);//Sets this as the 'last' item added

              int circuitValue = WorkoutData.get(mContext).getStateCircuit();
              boolean circuitOpenStatus = WorkoutData.get(mContext).isStateCircuitOpen();
              //if circuit is open
              if (circuitOpenStatus) {
                  //addToOpenCircuit to that circuit
                  WorkoutData.get(mContext).addExerciseToOpenCircuit(exercise,
                         circuitValue);
                  //if circuit is closed
              } else if (!circuitOpenStatus) {
                  //add a closed circuit, with the exercise in it
                  WorkoutData.get(mContext).addClosedCircuit(exercise,
                          circuitValue);
              }
              //return to workspace
              */
              WorkoutData.get(mContext).swap(e);
              WorkoutData.get(mContext).setBrowseState(BROWSE_WORKOUT);
              Intent i = new Intent(mContext, WorkspaceActivity.class);
              startActivity(i);
            }
          });

      ImageButton delete = (ImageButton) convertView.findViewById(R.id.deleteButton);
      delete.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {

              WorkoutData.get(mContext).exerciseRemoved(e.getId());
              DatabaseWrapper db = new DatabaseWrapper();
              db.deleteExerciseInExerciseTable(e.getId());
              mExercises.remove(e);
              notifyDataSetChanged();
              /*
              if(WorkoutData.get(mContext).isAnExerciseToggled()){
                  if (WorkoutData.get(mContext).getToggledExercise() == e){
                      WorkoutData.get(mContext).clearToggledExercise();
                  }
              }
              */
            }
          });

      return convertView;
    }