package tutosandroidfrance.com.listviewsample;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
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 java.util.List;
public class TweetAdapter extends ArrayAdapter<Tweet> {
public TweetAdapter(Context context, List<Tweet> tweets) {
super(context, 0, tweets);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.row_tweet,parent, false);
}
TweetViewHolder viewHolder = (TweetViewHolder) convertView.getTag();
if(viewHolder == null){
viewHolder = new TweetViewHolder();
viewHolder.pseudo = (TextView) convertView.findViewById(R.id.pseudo);
viewHolder.text = (TextView) convertView.findViewById(R.id.text);
viewHolder.avatar = (ImageView) convertView.findViewById(R.id.avatar);
convertView.setTag(viewHolder);
}
//getItem(position) va récupérer l'item [position] de la List<Tweet> tweets
Tweet tweet = getItem(position);
viewHolder.pseudo.setText(tweet.getPseudo());
viewHolder.text.setText(tweet.getText());
viewHolder.avatar.setImageDrawable(new ColorDrawable(tweet.getColor()));
return convertView;
}
private class TweetViewHolder{
public TextView pseudo;
public TextView text;
public ImageView avatar;
}
}