/** Creating the elements of the ListView */
  @Override
  @SuppressLint("InflateParams")
  public View getView(int position, View convertView, ViewGroup parent) {
    View rowView = convertView;
    ViewHolder viewHolder;

    // Reuse views
    if (rowView == null) {
      LayoutInflater inflater = context.getLayoutInflater();
      rowView = inflater.inflate(R.layout.activity_closest_stations_list_item, null);

      // Configure view holder
      viewHolder = new ViewHolder();
      viewHolder.addToFavourites = (ImageView) rowView.findViewById(R.id.cs_list_item_favourite);
      viewHolder.stationCaption =
          (TextView) rowView.findViewById(R.id.cs_list_item_station_caption);
      viewHolder.stationDistance =
          (TextView) rowView.findViewById(R.id.cs_list_item_station_distance);
      rowView.setTag(viewHolder);
    } else {
      viewHolder = (ViewHolder) rowView.getTag();
    }

    // Fill the data
    StationEntity station = stations.get(position);
    viewHolder.addToFavourites.setImageResource(getFavouriteImage(station));
    viewHolder.stationCaption.setText(
        Html.fromHtml(String.format(station.getName() + " (%s)", station.getNumber())));
    viewHolder.stationDistance.setText(
        String.format(
            context.getString(R.string.app_distance),
            MapUtils.getMapDistance(context, currentLocation, station)));

    // Set the actions over the ImageView
    actionsOverFavouritesImageViews(viewHolder, station);

    return rowView;
  }