Ejemplo n.º 1
0
  public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    int type = getItemViewType(position);
    Event event = events.get(position);

    if (convertView == null) {
      holder = new ViewHolder();
      switch (type) {
        case DAY:
          convertView = mInflater.inflate(R.layout.day_item, null);
          holder.day = (TextView) convertView.findViewById(R.id.day_title);
          break;
        case EVENT:
          convertView = mInflater.inflate(R.layout.search_list_item, null);
          holder.hour = (TextView) convertView.findViewById(R.id.event_hour);
          holder.title = (TextView) convertView.findViewById(R.id.event_title);
          holder.image = (ImageView) convertView.findViewById(R.id.event_favorite);
          holder.row = (LinearLayout) convertView.findViewById(R.id.event_row);
          holder.eventId = event.getId();
          break;
      }
      convertView.setTag(holder);
    } else {
      holder = (ViewHolder) convertView.getTag();
    }

    if (event != null) {
      if (event.getExternalId() == 0) {
        String dayText = BaseActivity.getDateFromTimestamp(event.getDate(), context);
        holder.day.setText(dayText);
      } else {
        // Hour.
        String hour = event.getStartHour();
        if (hour.length() == 0) {
          hour = context.getString(R.string.event_whole_day);
        }
        holder.hour.setText(hour);

        // Title.
        String title = event.getTitle();
        holder.title.setText(title);

        // Favorite.
        if (event.getFavorite() == 0) {
          holder.image.setImageResource(R.drawable.fav_off_small);
        } else {
          holder.image.setImageResource(R.drawable.fav_on_small);
        }

        holder.eventId = event.getId();
        convertView.setOnTouchListener(eventTouch);
      }
    }

    return convertView;
  }