public class ChatAdapter extends BaseAdapter {
private List<ChatMessage> datas;
private RobotFragment act;
private int layouts[]={R.layout.item_chat_from,R.layout.item_chat_to};
public ChatAdapter(List<ChatMessage> datas, RobotFragment act) {
super();
this.datas = datas;
this.act = act;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return datas.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return datas.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder vh=null;
if(convertView==null)
{
vh=new ViewHolder();
convertView=act.getActivity().getLayoutInflater().inflate(layouts[getItemViewType(position)], null);
vh.message=(TextView) convertView.findViewById(R.id.chat_message);
vh.time=(TextView) convertView.findViewById(R.id.chat_time);
convertView.setTag(vh);
}else{
vh=(ViewHolder) convertView.getTag();
}
vh.message.setText(datas.get(position).getMessage());
vh.time.setText(getTimes(datas.get(position).getTime()));
return convertView;
}
private String getTimes(Date date) {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return sdf.format(date);
}
@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 2;
}
@Override
public int getItemViewType(int position) {
// TODO Auto-generated method stub
return datas.get(position).getChattype()==ChatMessage.ChatType_from?0:1;
}
private static class ViewHolder
{
public TextView time,message;
}
}
Android——聊天布局Adapter的简单实现
最新推荐文章于 2023-06-04 12:51:45 发布