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 发布
本文介绍了一个基于Java的聊天适配器类实现,该类继承自BaseAdapter,用于处理聊天消息的显示。文章详细展示了如何根据不同类型的聊天消息加载不同的布局,并通过ViewHolder模式优化了视图的复用。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Stable-Diffusion-3.5
图片生成
Stable-Diffusion
Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率
1493

被折叠的 条评论
为什么被折叠?



