@Override
    public View getView(int position, View convertView, ViewGroup parent) {
      ViewHolder holder = null;
      UserActivityTypPrx rowItem = getItem(position);

      LayoutInflater mInflater =
          (LayoutInflater) _context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
      if (convertView == null) {
        convertView = mInflater.inflate(_resource, null);
        holder = new ViewHolder();
        holder.imageView = (ImageView) convertView.findViewById(_imageProjectionView);
        holder.txtTitle = (TextView) convertView.findViewById(_textProjectionView);
        holder.txtSubtitle = (TextView) convertView.findViewById(_subtextProjectionView);
        convertView.setTag(holder);
      } else holder = (ViewHolder) convertView.getTag();

      byte[] avatarBytes = null;
      if (rowItem.getUserActivityType() == ActivityType.TRIPJOIN
          || rowItem.getUserActivityType() == ActivityType.TRIPREQUESTANSWERED) {
        List<PassengerTyp> passengers = rowItem.getActivityTrip().getTripPassengers();
        avatarBytes = passengers.get(passengers.size() - 1).getPassengerUser().getAvatarBytes();
      } else {
        avatarBytes = rowItem.getActivityTrip().getTripDriver().getAvatarBytes();
      }
      holder.txtTitle.setText(rowItem._toString());
      holder.txtSubtitle.setText(
          SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.MEDIUM)
              .format(new Date(rowItem.getTimeStampInMillis())));
      holder.imageView.setImageBitmap(
          BitmapFactory.decodeByteArray(avatarBytes, 0, avatarBytes.length));

      return convertView;
    }
 /**
  * @param proxy A proxy to a remote object implementing an UserActivity
  * @return A local UserActivity object containing the data of the remote object referenced by
  *     proxy
  */
 public static UserActivity extractObject(UserActivityTypPrx proxy) {
   return new UserActivity(
       proxy.getActivityUser(),
       proxy.getActivityTrip(),
       proxy.getUserActivityType(),
       proxy.getTimeStampInMillis());
 }