@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_workout);

    Bundle bundle = this.getIntent().getExtras();
    position = bundle.getInt("position");

    editNameField = (EditText) findViewById(R.id.workoutNameField);
    addExerciseButton = (Button) findViewById(R.id.addExerciseButton);

    if (position >= 0) {
      workout = WorkoutList.getInstance().getWorkout(position);
      editNameField.setText(workout.getName());
    } else {
      workout = new Workout();
    }

    dslv = (DragSortListView) findViewById(R.id.exerciseList);

    String[] cols = {"name"};
    int[] ids = {R.id.text};
    adapter = new MyAdapter(this, R.layout.list_item_click_remove, null, cols, ids, 0);
    dslv.setAdapter(adapter);

    if (workout != null) {
      // populate the list of exercises
      cursor = new MatrixCursor(new String[] {"_id", "name"});
      int size = workout.getExercises().size();
      for (int i = 0; i < size; i++) {
        cursor.newRow().add(i).add(workout.getExercises().get(i).getName());
      }
      adapter.changeCursor(cursor);
    }

    setUpButtonListeners();
    setUpTextWatcher();
  }