package im.zico.wingtwitter.adapter;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
import de.hdodenhof.circleimageview.CircleImageView;
import im.zico.wingtwitter.R;
import im.zico.wingtwitter.type.WingTweet;
import im.zico.wingtwitter.ui.view.HackyTextView;
import im.zico.wingtwitter.utils.HackyMovementMethod;
import im.zico.wingtwitter.utils.SpannableStringUtils;
import im.zico.wingtwitter.utils.Utils;
/**
* Created by tinyao on 12/18/14.
*/
public class ConversationTweetAdapter extends BaseAdapter{
private Context mContext;
private LayoutInflater mLayoutInflater;
private ArrayList<WingTweet> tweets;
public ConversationTweetAdapter(Context context, ArrayList<WingTweet> tweets) {
mContext = context;
mLayoutInflater = LayoutInflater.from(context);
this.tweets = tweets;
}
@Override
public int getCount() {
return tweets.size();
}
@Override
public Object getItem(int position) {
return tweets.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ReplyHoder holder;
if (convertView == null) {
convertView = mLayoutInflater.inflate(R.layout.row_reply_tweet, parent, false);
holder = new ReplyHoder(convertView);
convertView.setTag(holder);
} else {
holder = (ReplyHoder) convertView.getTag();
}
WingTweet item = tweets.get(position);
Picasso.with(mContext).load(item.avatar_url)
.fit()
.into(holder.avatar);
holder.name.setText(item.user_name);
holder.screenName.setText(item.screen_name);
holder.content.setText(SpannableStringUtils.span(item.content));
holder.content.setMovementMethod(HackyMovementMethod.getInstance());
holder.time.setText(Utils.getTimeAgo(item.created_at));
return convertView;
}
private class ReplyHoder {
private CircleImageView avatar;
private TextView name, screenName;
private HackyTextView content;
private TextView time;
public ReplyHoder(View view) {
avatar = (CircleImageView) view.findViewById(R.id.reply_user_avatar);
name = (TextView) view.findViewById(R.id.reply_user_name);
screenName = (TextView) view.findViewById(R.id.reply_user_screen_name);
content = (HackyTextView) view.findViewById(R.id.reply_tweet_content);
time = (TextView) view.findViewById(R.id.reply_tweet_time);
}
}
}