I have set up a `ListView` from an `ArrayList<ArrayList<String>>` called data of data that looks like this

```
data = {{"cat1","cat2","cat3","cat4"},
                      {"dog1","dog2","dog3"},
                      {"lion1"},
                      {"monkey1","monkey2"}};

```

And I have set it up like this:

```
public static final String[] weekdayStringArray = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
         ArrayList<String> stringArrayList = data.get(position);
         String dayString = weekdayStringArray[dayNumber];

         switch(stringArrayList.size()){
            case 4:
                convertView = mLayoutInflater.inflate(R.layout.four_meal_item_view, parent, false);
                TextView mealOne_Four = (TextView) convertView.findViewById(R.id.firstMealTextView);
                TextView mealTwo_Four = (TextView) convertView.findViewById(R.id.secondMealTextView);
                TextView mealThree_Four = (TextView) convertView.findViewById(R.id.thirdMealTextView);
                TextView mealFour_Four = (TextView) convertView.findViewById(R.id.fourthMealTextView);
                TextView dayText_Four = (TextView) convertView.findViewById(R.id.dayTextView);
                dayText_Four.setText(dayString);
                mealOne_Four.setText(stringArrayList.get(0).substring(0,1).toUpperCase() + stringArrayList.get(0).substring(1).toLowerCase());
                mealTwo_Four.setText(stringArrayList.get(1).substring(0,1).toUpperCase() + stringArrayList.get(1).substring(1).toLowerCase());
                mealThree_Four.setText(stringArrayList.get(2).substring(0,1).toUpperCase() + stringArrayList.get(2).substring(1).toLowerCase());
                mealFour_Four.setText(stringArrayList.get(3).substring(0,1).toUpperCase() + stringArrayList.get(3).substring(1).toLowerCase());
                break;
            case 3:
                convertView = mLayoutInflater.inflate(R.layout.three_meal_item_view, parent, false);
                TextView mealOne_Three = (TextView) convertView.findViewById(R.id.firstMealTextView_Three);
                TextView mealTwo_Three = (TextView) convertView.findViewById(R.id.secondMealTextView_Three);
                TextView mealThree_Three = (TextView) convertView.findViewById(R.id.thirdMealTextView_Three);
                TextView dayText_Three = (TextView) convertView.findViewById(R.id.dayTextView_Three);
                dayText_Three.setText(dayString);
                mealOne_Three.setText(stringArrayList.get(0).substring(0,1).toUpperCase() + stringArrayList.get(0).substring(1).toLowerCase());
                mealTwo_Three.setText(stringArrayList.get(1).substring(0,1).toUpperCase() + stringArrayList.get(1).substring(1).toLowerCase());
                mealThree_Three.setText(stringArrayList.get(2).substring(0,1).toUpperCase() + stringArrayList.get(2).substring(1).toLowerCase());
                break;
            case 2:
                convertView = mLayoutInflater.inflate(R.layout.two_meal_item_view, parent, false);
                TextView mealOne_Two = (TextView) convertView.findViewById(R.id.firstMealTextView_Two);
                TextView mealTwo_Two = (TextView) convertView.findViewById(R.id.secondMealTextView_Two);
                TextView dayText_Two = (TextView) convertView.findViewById(R.id.dayTextView_Two);
                dayText_Two.setText(dayString);
                mealOne_Two.setText(stringArrayList.get(0).substring(0,1).toUpperCase() + stringArrayList.get(0).substring(1).toLowerCase());
                mealTwo_Two.setText(stringArrayList.get(1).substring(0,1).toUpperCase() + stringArrayList.get(1).substring(1).toLowerCase());
                break;
            case 1:
                convertView = mLayoutInflater.inflate(R.layout.one_meal_item_view, parent, false);
                TextView mealOne_One = (TextView) convertView.findViewById(R.id.firstMealTextView_One);
                TextView dayText_One = (TextView) convertView.findViewById(R.id.dayTextView_One);
                dayText_One.setText(dayString);
                mealOne_One.setText(stringArrayList.get(0).substring(0,1).toUpperCase() + stringArrayList.get(0).substring(1).toLowerCase());
                break;
            case 0:
                convertView = mLayoutInflater.inflate(R.layout.zero_meal_item_view, parent, false);
                TextView dayText_Zero = (TextView) convertView.findViewById(R.id.dayTextView_Zero);
                dayText_Zero.setText(dayString + "(Closed)");
                break;
         }
return convertView;

```

And now I want to add an `onClickListener` so that I can click a `TextView` in a row. And when this `TextView` is clicked I move to a new `Activity`passing the text of the `TextView` that was clicked and the text of the dayTextView that was in the same row as the `TextView` that was clicked.

Now I don't want to set a bunch of `onClickListners` for each `TextView` so what is an **efficient** way of doing this for all the `TextView`s in the rows of my `ListView`?