package com.partynetwork.iparty.imessage; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import com.partynetwork.dataprovider.util.TimeUtil; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.entities.IMessage; public class ChatAdapter extends BaseAdapter { List<IMessage> iList; Context context; public ChatAdapter(Context context, List<IMessage> list) { super(); iList = list; this.context = context; } public void refreshList() { // 设置是否显示时间 String oldTime = ""; for (int i = 0; i < iList.size(); i++) { IMessage message = iList.get(i); if (i == 0) { message.setNeedTime(1); } else { long bet = Math .abs(TimeUtil.between(oldTime, message.getTime())); // 显示时间的间隔为30分钟 if (bet / 60 > 30) { message.setNeedTime(1); } else { message.setNeedTime(0); } } oldTime = message.getTime(); } this.notifyDataSetChanged(); } @Override public int getCount() { return iList == null ? 0 : iList.size(); } @Override public Object getItem(int position) { return iList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { IMessage message=(IMessage) getItem(position); if (message.getIsCome()==1) { convertView = LayoutInflater.from(context).inflate( R.layout.imessage_chat_message_left, null); } else { convertView = LayoutInflater.from(context).inflate( R.layout.imessage_chat_message_right, null); } ChatHolder holder = new ChatHolder(convertView, context); holder.initDate(message); return convertView; } public void setList(List<IMessage> message_pool) { iList = message_pool; } }