@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()); }