• listView 多个item布局


    package kds.szkingdom.wo.android.adapter;
    
    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 android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.RelativeLayout;
    import android.widget.TextView;
    
    import com.szkingdom.common.android.base.Res;
    import com.szkingdom.commons.lang.StringUtils;
    import com.szkingdom.modeWO.android.phone.R;
    import com.trevorpage.tpsvg.SVGView;
    import com.trevorpage.tpsvg.SvgRes1;
    
    public class IACTChatAdapter extends BaseAdapter
    {
        private Context context;
        private List<IACTMsgBean> msgList;
    
        public IACTChatAdapter(Context c, List<IACTMsgBean> msgList)
        {
            this.context = c;
            this.msgList = msgList;
        }
    
        @Override
        public int getCount()
        {
            return msgList.size();
        }
    
        @Override
        public Object getItem(int position)
        {
            return msgList.get(position);
        }
    
        @Override
        public long getItemId(int position)
        {
            return position;
        }
    
        @Override
        public View getView(int pos, View view, ViewGroup parent)
        {
            Holder holder = null;
            if (view == null)
            {
                holder = new Holder();
                LayoutInflater inflater = LayoutInflater.from(context);
                view = (View) inflater.inflate(R.layout.iact_chat_msg_item, null);
                holder.rl_item = (RelativeLayout) view
                        .findViewById(R.id.iact_chat_msg_item);
                holder.rl_left = (RelativeLayout) view
                        .findViewById(R.id.rl_iact_chat_msg_left);
                holder.rl_right = (RelativeLayout) view
                        .findViewById(R.id.rl_iact_chat_msg_right);
                holder.tv_left = (TextView) view.findViewById(R.id.tv_user_left);
                holder.tv_right = (TextView) view.findViewById(R.id.tv_user_right);
                holder.iv_left = (Button) view
                        .findViewById(R.id.iv_iact_user_left);
                holder.iv_right = (SVGView) view
                        .findViewById(R.id.iv_iact_user_right);
                holder.tv_time_left = (TextView) view
                        .findViewById(R.id.tv_iact_chat_msg_time_left);
                holder.tv_time_right = (TextView) view
                        .findViewById(R.id.tv_iact_chat_msg_time_right);
                holder.ll_left = (LinearLayout) view.findViewById(R.id.ll_left);
                holder.ll_right = (LinearLayout) view.findViewById(R.id.ll_right);
                view.setTag(holder);
            } else
            {
                holder = (Holder) view.getTag();
                holder.rl_right.setVisibility(View.GONE);
                holder.rl_left.setVisibility(View.GONE);
            }
            IACTMsgBean bean = msgList.get(pos);
            if(!StringUtils.isEmpty(bean.getFeedbackContent())){
                //客户端消息
                holder.rl_right.setVisibility(View.VISIBLE);
                holder.iv_right.setSVGRenderer(
                        SvgRes1.getSVGParserRenderer(context, 
                                R.drawable.kds_wo_svg_sender), null);
                holder.tv_right.setText(bean.getFeedbackContent());
                holder.tv_time_right.setText(bean.getFeedbackTime());
                holder.ll_right.setBackgroundDrawable(Res.getDrawable(R.drawable.kds_wo_png_backgroud_blue));
            }
            if(!StringUtils.isEmpty(bean.getReplyContent())){
                //服务器端消息
                holder.rl_left.setVisibility(View.VISIBLE);
                holder.iv_left.setBackgroundResource(R.drawable.kds_gphone_original);
            
                holder.tv_left.setText(bean.getReplyContent());
                holder.tv_time_left.setText(bean.getReplyTime());
                holder.ll_left.setBackgroundDrawable(
                        Res.getDrawable(R.drawable.kds_wo_png_background_white));
            }
            return view;
        }
    
        private class Holder
        {
            RelativeLayout rl_item;
            RelativeLayout rl_left;
            RelativeLayout rl_right;
            TextView tv_time_left;
            TextView tv_time_right;
            TextView tv_left;
            TextView tv_right;
            Button iv_left;
            SVGView iv_right;
            LinearLayout ll_left;
            LinearLayout ll_right;
        }
    
    }
  • 相关阅读:
    嵌入式框架Zorb Framework搭建三:列表的实现
    嵌入式框架Zorb Framework搭建二:环形缓冲区的实现
    C#比较两个时间大小
    大数据概述
    综合练习:英文词频统计
    熟悉常用的Linux操作
    Python基础画五星红旗
    字符串、组合数据类型练习
    简化版C语言文法
    词法分析实验报告
  • 原文地址:https://www.cnblogs.com/yaowen/p/5462220.html
Copyright © 2020-2023  润新知