ListView的Adapter
来源:互联网 发布:淘宝会员名怎么注册 编辑:程序博客网 时间:2024/06/05 04:18
public class OrderListConfirmAdapter extends BaseAdapter { /** * 应用环境变量 **/ private Context mContext = null; private List mListOrder = null; private LayoutInflater listContainer = null; public final class ViewHolder { //主体点击区域 public LinearLayout llBody; //订单类型图标 public ImageView ivType; //订单类型文字 public TextView tvType; //面积区域 public TableRow trArea; //面积文字 public TextView tvArea; //补贴区域 public TableRow trAllowance; //补贴文字 public TextView tvAllowance; //电话点击区域 public RelativeLayout rlPhone; //客户姓名 public TextView tvName; //佣金单价区域 public TableRow trCommision; //佣金单价文字 public TextView tvCommision; //进场日期 public TextView tvStartTime; //安装地址 public TextView tvAddress; //原工单编号区域 public LinearLayout llOriginalOrderNo; //原工单编号文字 public TextView tvOriginalOrderNo; //确认按钮 public RelativeLayout rlConfirm; } /** * @param context 上下文对象 * @param mListOrder 数据源 */ public OrderListConfirmAdapter(Context context, List mListOrder) { this.mContext = context; this.listContainer = LayoutInflater.from(this.mContext); this.mListOrder = mListOrder; } @Override public int getCount() { return mListOrder.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = listContainer.inflate(R.layout.item_list_confirm_order, null); holder = new ViewHolder(); holder.llBody = (LinearLayout) convertView.findViewById(R.id.item_confirm_ll_body); holder.ivType = (ImageView) convertView.findViewById(R.id.item_confirm_iv_type); holder.tvType = (TextView) convertView.findViewById(R.id.item_confirm_tv_type); holder.trArea = (TableRow) convertView.findViewById(R.id.item_confirm_tr_area); holder.tvArea = (TextView) convertView.findViewById(R.id.item_confirm_tv_area); holder.trAllowance = (TableRow) convertView.findViewById(R.id.item_confirm_tr_allowance); holder.tvAllowance = (TextView) convertView.findViewById(R.id.item_confirm_tv_allowance); holder.rlPhone = (RelativeLayout) convertView.findViewById(R.id.item_confirm_rl_phone); holder.tvName = (TextView) convertView.findViewById(R.id.item_confirm_tv_name); holder.trCommision = (TableRow) convertView.findViewById(R.id.item_confirm_tr_commision); holder.tvCommision = (TextView) convertView.findViewById(R.id.item_confirm_tv_commision); holder.tvStartTime = (TextView) convertView.findViewById(R.id.item_confirm_tv_start_time); holder.tvAddress = (TextView) convertView.findViewById(R.id.item_confirm_tv_address); holder.llOriginalOrderNo = (LinearLayout) convertView.findViewById(R.id.item_confirm_ll_original_order_no); holder.tvOriginalOrderNo = (TextView) convertView.findViewById(R.id.item_confirm_tv_original_order_no); holder.rlConfirm = (RelativeLayout) convertView.findViewById(R.id.item_confirm_rl_confirm); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } OrderInfoEntity entity = (OrderInfoEntity) mListOrder.get(position); //根据工单类型设置类型图标、类型文字、面积是否可见及数值 switch (entity.getOrderType()) { case 290001: holder.ivType.setImageResource(R.drawable.icon_fix); holder.tvType.setText(mContext.getResources().getString(R.string.fix_yes)); holder.trArea.setVisibility(View.VISIBLE); holder.tvArea.setText(entity.getArea()); break; case 290002: holder.ivType.setImageResource(R.drawable.icon_measure); holder.tvType.setText(mContext.getResources().getString(R.string.measure_order)); holder.trArea.setVisibility(View.INVISIBLE); break; } //根据内外部订单决定补贴和佣金单价是否显示 switch (entity.getOrderAttriFlag()) { case "0": holder.trAllowance.setVisibility(View.INVISIBLE); holder.trCommision.setVisibility(View.GONE); break; case "1": holder.trAllowance.setVisibility(View.VISIBLE); holder.trCommision.setVisibility(View.VISIBLE); holder.tvAllowance.setText(entity.getSubsidy()); holder.tvCommision.setText(entity.getTotalAmountCommission() + ""); break; } //根据是否有原工单号决定原工单栏是否可见 if ("".equals(entity.getOriginalOrderNo())) { holder.llOriginalOrderNo.setVisibility(View.GONE); } else { holder.llOriginalOrderNo.setVisibility(View.VISIBLE); holder.tvOriginalOrderNo.setText(entity.getOriginalOrderNo()); } //设置姓名、日期、地址 holder.tvName.setText(entity.getCustomerName()); holder.tvStartTime.setText(entity.getCreateDate()); holder.tvAddress.setText(entity.getCustomerAdress()); //点击电话图标 holder.rlPhone.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction(OrderFragment.ACTION_CLICK_PHONE); intent.putExtra("position",position); mContext.sendBroadcast(intent); } }); //点击确认按钮 holder.rlConfirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction(OrderFragment.ACTION_CLICK_CONFIRM); intent.putExtra("position",position); mContext.sendBroadcast(intent); } }); //点击item时 holder.llBody.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction(OrderFragment.ACTION_CLICK_BODY); intent.putExtra("position",position); mContext.sendBroadcast(intent); } }); return convertView; } /** * 列表刷新操作 * * @param list 订单信息实例集合 */ public void update(List list) { this.mListOrder = list; notifyDataSetChanged(); }}
0 0
- ListView----Adapter的使用
- 自定义ListView的Adapter
- 好的ListView adapter
- 自定义Adapter的ListView
- Adapter的ListView详解
- listView Adapter 的应用
- Adapter,ListView的应用
- 自定义listview的adapter
- Listview的自定义Adapter
- listView的adapter问题
- 自定义adapter的listview
- 万能listview的adapter
- ListView的Adapter
- ListView的Adapter优化
- listView的 Adapter优化
- ListView的Adapter
- 自定义ListView的Adapter
- Listview的Adapter的转换
- Java XML XXE 底层防御
- 算法学习-数组的最大间隔
- python 日k写csv文件
- itemSilding
- Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?
- ListView的Adapter
- 映射篇(5.2)-02. ADSL拨号宽带映射 ❀ 飞塔 (Fortinet) 防火墙
- PHP Notice: undefined index 完美解决方法
- Docker资源
- SpringBoot架构笔记
- python 读取日kcsv文件
- C语言程序设实践-数组初步-数组大折腾(1)
- nmap用法
- CSS各种居中方法