package com.arrownock.opensource.arrownockers.chat; import java.util.List; import android.content.Context; import android.graphics.Typeface; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.arrownock.opensource.arrownockers.R; public class SessionListViewAdapter extends BaseAdapter { private List<SessionEntity> coll; private LayoutInflater mInflater; public SessionListViewAdapter(Context context, List<SessionEntity> coll) { this.coll = coll; mInflater = LayoutInflater.from(context); } public int getCount() { return coll.size(); } public Object getItem(int position) { return coll.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { SessionEntity entity = coll.get(position); ViewHolder viewHolder = null; if (convertView == null) { convertView = mInflater.inflate(R.layout.cell_session_list, null); viewHolder = new ViewHolder(); viewHolder.tvTitle = (TextView) convertView .findViewById(R.id.tv_session_title); viewHolder.tvText = (TextView) convertView .findViewById(R.id.tv_text); viewHolder.tvTime = (TextView) convertView .findViewById(R.id.tv_time); viewHolder.ivNew = (ImageView) convertView .findViewById(R.id.iv_new); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.tvTime.setText(entity.updateTime); viewHolder.tvTitle.setText(entity.realnames); String textString = entity.lastMessage; if (textString != null) { if (textString.length() > 30) { textString = textString.substring(0, 30) + "..."; } viewHolder.tvText.setText(textString); viewHolder.tvText.getLayoutParams().height = 100; } viewHolder.ivNew .setVisibility(entity.status.equals("unread") ? View.VISIBLE : View.INVISIBLE); viewHolder.tvTitle.setTypeface(null, entity.status.equals("unread") ? Typeface.BOLD : Typeface.NORMAL); return convertView; } static class ViewHolder { public ImageView ivHead; public TextView tvTime; public TextView tvTitle; public TextView tvText; public ImageView ivNew; } }