@Override
  public View getView(int position, View convertView, ViewGroup parent) {
    MealItemHolder mealItemHolder;
    View view = convertView;
    if (view == null) {
      mealItemHolder = new MealItemHolder();
      LayoutInflater inflater = ((Activity) context).getLayoutInflater();
      view = inflater.inflate(R.layout.activity_meal_custom_row, parent, false);
      mealItemHolder.name = (TextView) view.findViewById(R.id.meal_custom_row);
      view.setTag(mealItemHolder);
    } else {
      mealItemHolder = (MealItemHolder) view.getTag();
    }

    Meal eItem = this.mealsList.get(position);
    String mealName = eItem.getName();
    Double calories = eItem.getCaloriesAmount();
    int gi = eItem.getGI();
    Date startDate = eItem.getStartMealTime();
    StringBuilder rowText =
        new StringBuilder()
            .append("Meal: ")
            .append(mealName)
            .append("\n")
            .append("Calories: ")
            .append(calories)
            .append("\n")
            .append("GI: ")
            .append(gi)
            .append("\n")
            .append("Start date: ")
            .append(DATE_FORMAT.format(startDate))
            .append("\n")
            .append("Meal Description: ")
            .append(eItem.getDescription())
            .append("\n")
            .append("Reminder: ");
    if (null != eItem.getReminder()) {
      rowText.append(DATE_FORMAT.format(eItem.getReminder()));
    } else {
      rowText.append(" - ");
    }
    mealItemHolder.name.setText(rowText);

    return view;
  }