package se.alexanderblom.delicious.adapter; import se.alexanderblom.delicious.R; import se.alexanderblom.delicious.model.Post; import se.alexanderblom.delicious.util.ListAdapter; import android.content.Context; import android.text.format.DateUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class PostsAdapter extends ListAdapter<Post> { private static final int RESOURCE = R.layout.item_post; public PostsAdapter(Context context) { super(context); } @Override public View newView(LayoutInflater inflater, ViewGroup parent, int position) { View v = inflater.inflate(RESOURCE, parent, false); ViewHolder holder = new ViewHolder(); holder.titleView = (TextView) v.findViewById(R.id.title); holder.timeView = (TextView) v.findViewById(R.id.time); holder.urlView = (TextView) v.findViewById(R.id.url); holder.tagsView = (TextView) v.findViewById(R.id.tags); v.setTag(holder); return v; } @Override public void bindView(View v, Post post) { ViewHolder holder = (ViewHolder) v.getTag(); holder.titleView.setText(post.getTitle()); holder.timeView.setText(DateUtils.getRelativeTimeSpanString(post.getTime())); holder.urlView.setText(post.getLink()); holder.tagsView.setText(post.getStyledTags(), TextView.BufferType.SPANNABLE); } private static class ViewHolder { public TextView titleView; public TextView timeView; public TextView urlView; public TextView tagsView; } }