package com.ecollege.android.adapter; import android.app.Activity; import android.content.Context; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.ecollege.android.R; import com.ecollege.android.view.helpers.ResponseCountViewHelper; import com.ecollege.api.model.DiscussionResponse; import com.ecollege.api.model.ResponseCount; import com.ecollege.api.model.User; import com.ecollege.api.model.UserDiscussionResponse; import com.ocpsoft.pretty.time.PrettyTime; public class ResponseAdapter extends UberAdapter<UserDiscussionResponse> { final private class ViewHolder { ImageView icon; TextView titleText; TextView authorText; ImageView authorIcon; TextView timeText; TextView totalResponseCountText; TextView unreadResponseCountText; TextView userResponseCountText; TextView descriptionText; } final private PrettyTime prettyTimeFormatter = new PrettyTime(); protected boolean loading; public ResponseAdapter(Context context) { super(context,false,false,false); } @Override protected View getDataItemView(View convertView, ViewGroup parent, UberItem<UserDiscussionResponse> item) { ViewHolder holder; LayoutInflater viewInflater = ((Activity)context).getLayoutInflater(); if (convertView == null) { convertView = viewInflater.inflate(R.layout.user_topic_item, null); holder = new ViewHolder(); holder.icon = (ImageView) convertView.findViewById(R.id.icon); holder.titleText = (TextView) convertView.findViewById(R.id.title_text); holder.timeText = (TextView) convertView.findViewById(R.id.time_text); holder.authorText = (TextView) convertView.findViewById(R.id.author_text); holder.authorIcon = (ImageView) convertView.findViewById(R.id.author_icon); holder.descriptionText = (TextView) convertView.findViewById(R.id.description_text); holder.totalResponseCountText = (TextView) convertView.findViewById(R.id.total_response_count_text); holder.unreadResponseCountText = (TextView) convertView.findViewById(R.id.unread_response_count_text); holder.userResponseCountText = (TextView) convertView.findViewById(R.id.user_response_count_text); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } UserDiscussionResponse userResponse = item.getDataItem(); DiscussionResponse response = userResponse.getResponse(); ResponseCount responseCount = userResponse.getChildResponseCounts(); User author = response.getAuthor(); holder.timeText.setVisibility(View.VISIBLE); holder.authorText.setVisibility(View.VISIBLE); holder.authorIcon.setVisibility(View.VISIBLE); holder.descriptionText.setVisibility(View.VISIBLE); holder.titleText.setText(Html.fromHtml(response.getTitle()).toString()); holder.authorText.setText(author.getFirstName() + " " + author.getLastName()); holder.descriptionText.setText(Html.fromHtml(response.getDescription())); holder.timeText.setText(prettyTimeFormatter.format(response.getPostedDate().getTime())); ResponseCountViewHelper responseCountViewHelper = new ResponseCountViewHelper(context, holder.icon, holder.unreadResponseCountText, holder.totalResponseCountText, holder.userResponseCountText ); responseCountViewHelper.setResponseCount(responseCount); return convertView; } }