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;
}
}