Android Delete Button Not Deleting Correct Item

I am trying to create a List of items using an ArrayAdapter and for each of these items, they will have their own delete button. Here is my code to generate the arrayAdapter and display the items:

private void loadWorkoutList() {
    List<Record> myWorkouts = mDatabaseHelper.getAllRecords();
    List<String> arr_list = new ArrayList<String>();
    for (int i = 0; i < myWorkouts.size(); i++) {
        Log.d(TAG, "Displaying workout number " + myWorkouts.get(i).id + " created at: " + myWorkouts.get(i).createdAt);
        arr_list.add("Workout: " + Integer.toString(myWorkouts.get(i).id) + "(" + myWorkouts.get(i).createdAt +")");
    }

    if (mAdapter == null) {
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.custom_workout_list, R.id.workout_title, arr_list);
        recordListView.setAdapter(arrayAdapter);
    } else {
        mAdapter.clear();
        mAdapter.addAll(arr_list);
        mAdapter.notifyDataSetChanged();
    }
}

Then I have my delete function:

public void deleteRecord(View view) {

    View parent = (View) view.getParent();
    TextView recordTextView = (TextView) findViewById(R.id.workout_title);
    String recordTitle = String.valueOf(recordTextView.getText());
    Log.d(TAG, "Deleting" + recordTitle);

    Pattern p = Pattern.compile("(Workout: )(\\D*)(\\d+)");
    Matcher m = p.matcher(recordTitle);
    String recordId = "0";
    while (m.find()) {
        Log.d(TAG, m.group(0) + m.group(1) + m.group(2) + m.group(3));
        recordId = m.group(3);
    }
    //mDatabaseHelper.deleteRecord(recordId);
    loadWorkoutList();
}

However, this delete button always references the first item in the list. I have been stuck on this for hours, any reasons why?