package com.conference.app.lib.ui.adapter;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.conference.app.lib.R;
import com.conference.app.lib.network.Tweet;
public class TweetAdapter extends ArrayAdapter<Tweet> {
private static final String TAG = TweetAdapter.class.getName();
private static final boolean DEBUG = false;
private final Context ctx;
private final int resid;
private final List<Tweet> tweets;
public TweetAdapter(final Context ctx, final List<Tweet> tweets) {
super(ctx, R.layout.tweet_item, tweets);
this.ctx = ctx;
this.tweets = tweets;
this.resid = R.layout.tweet_item;
}
@Override
public View getView(final int position, final View convertView, final ViewGroup parent) {
final Tweet tweet = tweets.get(position);
ViewHolder viewHolder;
View rowView = convertView;
if (rowView == null) {
final LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowView = inflater.inflate(resid, null, true);
viewHolder = new ViewHolder();
viewHolder.author = (TextView) rowView.findViewById(R.id.tweet_author);
viewHolder.text = (TextView) rowView.findViewById(R.id.tweet_text);
viewHolder.date = (TextView) rowView.findViewById(R.id.tweet_time);
viewHolder.image = (ImageView) rowView.findViewById(R.id.tweet_img);
rowView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) rowView.getTag();
}
if (position % 2 == 0) {
rowView.setBackgroundResource(R.drawable.listitembg1);
} else {
rowView.setBackgroundResource(R.drawable.listitembg2);
}
viewHolder.author.setText(tweet.getUsername());
viewHolder.text.setText(tweet.getText());
viewHolder.date.setText(tweet.getDateString(ctx));
if (tweet.getUserimg() != null && !tweet.getUserimg().equals(viewHolder.image.getTag())) {
viewHolder.image.setTag(tweet.getUserimg());
viewHolder.image.setImageBitmap(tweet.getImageRessource());
}
return rowView;
}
static class ViewHolder {
public ImageView image;
public TextView author;
public TextView text;
public TextView date;
}
}