package com.partynetwork.iparty.imessage;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.List;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppContext;
public class ImessageChatListAdapter extends BaseAdapter {
private List<MessageEntity> mList;
private LayoutInflater mInflater;
public ImessageChatListAdapter(Context context, List<MessageEntity> coll) {
this.mList = coll;
mInflater = LayoutInflater.from(context);
}
public int getCount() {
return mList.size();
}
public Object getItem(int position) {
return mList.get(position);
}
public long getItemId(int position) {
return position;
}
public int getItemViewType(int position) {
MessageEntity entity = mList.get(position);
if (entity.getFromUserId() == AppContext.getInstance().getLoginUid()) {
return 0;
} else {
return 1;
}
}
public int getViewTypeCount() {
return 2;
}
public View getView(int position, View convertView, ViewGroup parent) {
MessageEntity entity = mList.get(position);
boolean isComMsg = !(entity.getFromUserId() == AppContext.getInstance()
.getLoginUid());
ImessageChatListView viewHolder = null;
if (convertView == null) {
if (isComMsg) {
convertView = mInflater.inflate(
R.layout.imessage_chat_message_left, null);
} else {
convertView = mInflater.inflate(
R.layout.imessage_chat_message_right, null);
}
viewHolder = new ImessageChatListView();
viewHolder.tvSendTime = (TextView) convertView
.findViewById(R.id.sendtime);
viewHolder.tvContent = (TextView) convertView
.findViewById(R.id.msg_tv);
viewHolder.tvLength = (TextView) convertView
.findViewById(R.id.voice);
convertView.setTag(viewHolder);
} else {
viewHolder = (ImessageChatListView) convertView.getTag();
}
viewHolder.tvSendTime.setText(entity.getDate());
LinearLayout layout = (LinearLayout) convertView
.findViewById(R.id.msg_ll);
if (entity.getType() == 1) {
layout.setVisibility(View.VISIBLE);
viewHolder.tvLength.setText("" + entity.getTitle());
viewHolder.tvContent.setText("");
} else {
layout.setVisibility(View.GONE);
viewHolder.tvContent.setText(entity.getContent());
}
return convertView;
}
}