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