在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

wemall app商城源码中实现带图片和checkbox的listview

2016-12-16 13:18| 发布者: zhangjf| 查看: 536| 评论: 0

摘要: wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享其中实现带图片和checkbox的listview,供技术员参考学习。 public class MainAdap ...
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享其中实现带图片和checkbox的listview,供技术员参考学习。

  1. public class MainAdapter extends BaseAdapter {

  2.         private LayoutInflater mInflater;// 得到一个LayoutInfalter对象用来导入布局
  3.         private ArrayList<Map<String, Object>> getDate;
  4.         private Context mContext;
  5.        
  6.         public MainAdapter(Context context , ArrayList<Map<String, Object>> getDate) {
  7.                 this.mContext = context;
  8.                 this.mInflater = LayoutInflater.from(context);
  9.                 this.getDate = getDate;
  10.         }

  11.         @Override
  12.         public int getCount() {
  13.                 // TODO Auto-generated method stub
  14.                 return getDate.size();// 返回数组的长度
  15.         }

  16.         @Override
  17.         public Object getItem(int position) {
  18.                 // TODO Auto-generated method stub
  19.                 return getDate.get(position);
  20.         }

  21.         @Override
  22.         public long getItemId(int position) {
  23.                 // TODO Auto-generated method stub
  24.                 return position;
  25.         }

  26.         @SuppressLint("NewApi")
  27.         @Override
  28.         public View getView(final int position, View convertView,
  29.                         ViewGroup parent) {
  30.                 // TODO Auto-generated method stub
  31.                 final ViewHolder holder;
  32.                 if (convertView == null) {
  33.                         holder = new ViewHolder();
  34.                         convertView = mInflater.inflate(R.layout.itemlist_shop, null);
  35.                         holder.image = (ImageView) convertView
  36.                                         .findViewById(R.id.itemlist_image);
  37.                         holder.name = (TextView) convertView
  38.                                         .findViewById(R.id.itemlist_shopname);
  39.                         holder.price = (TextView) convertView
  40.                                         .findViewById(R.id.waimai_shopmenu_adapter_item_price);
  41.                         holder.plusButton = (ImageButton) convertView
  42.                                         .findViewById(R.id.plus_btn);
  43.                         holder.minusButton = (ImageButton) convertView
  44.                                         .findViewById(R.id.minus_btn);
  45.                         holder.numTextView = (TextView) convertView
  46.                                         .findViewById(R.id.count);
  47.                         convertView.setTag(holder);// 绑定ViewHolder对象
  48.                 } else {
  49.                         holder = (ViewHolder) convertView.getTag();// 取出ViewHolder对象
  50.                 }
  51.                
  52.                 convertView.setOnClickListener(new OnClickListener() {
  53.                         @Override
  54.                         public void onClick(View v) {
  55.                                 // TODO Auto-generated method stub
  56.                                 final LinearLayout layout = (LinearLayout) mInflater.inflate(R.layout.dialog_detail, null);
  57.                                 final Dialog dialog = new Dialog(mContext);
  58.                                 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
  59.                                 dialog.setContentView(layout);
  60.                                 dialog.show();
  61.                                
  62.                                 final ImageView imageView = (ImageView) layout.findViewById(R.id.dialog_detail_big_image);
  63.                                 new AsyncImageLoader(mContext).downloadImage(getDate.get(position).get("image").toString(),true,
  64.                                                 new ImageCallback() {
  65.                                                         @Override
  66.                                                         public void onImageLoaded(Bitmap bitmap, String imageUrl) {
  67.                                                                 // TODO Auto-generated method stub
  68.                                                                 imageView.setImageBitmap(bitmap);
  69.                                                         }
  70.                                                 });
  71.                                
  72.                                 TextView textViewPrice = (TextView)layout.findViewById(R.id.dialog_detail_single_price);
  73.                                 textViewPrice.setText(holder.price.getText().toString());
  74.                                
  75.                                 TextView textViewNum = (TextView) layout.findViewById(R.id.count);
  76.                                 textViewNum.setText(holder.numTextView.getText().toString());
  77.                                
  78.                                 layout.findViewById(R.id.dialog_detail_close).setOnClickListener(new OnClickListener() {
  79.                                         @Override
  80.                                         public void onClick(View v) {
  81.                                                 // TODO Auto-generated method stub
  82.                                                 dialog.dismiss();
  83.                                         }
  84.                                 });
  85.                                 layout.findViewById(R.id.dialog_detail_addcart).setOnClickListener(new OnClickListener() {
  86.                                         @Override
  87.                                         public void onClick(View v) {
  88.                                                 // TODO Auto-generated method stub
  89.                                                 dialog.dismiss();
  90.                                         }
  91.                                 });
  92.                                 final TextView textViewin = (TextView) layout.findViewById(R.id.count);
  93.                                 layout.findViewById(R.id.plus_btn).setOnClickListener(new OnClickListener() {
  94.                                         @Override
  95.                                         public void onClick(View v) {
  96.                                                 // TODO Auto-generated method stub
  97.                                                 holder.plusButton.callOnClick();
  98.                                                 textViewin.setText(holder.numTextView.getText().toString());
  99.                                         }
  100.                                 });
  101.                                 layout.findViewById(R.id.minus_btn).setOnClickListener(new OnClickListener() {
  102.                                        
  103.                                         @Override
  104.                                         public void onClick(View v) {
  105.                                                 // TODO Auto-generated method stub
  106.                                                 holder.minusButton.callOnClick();
  107.                                                 textViewin.setText(holder.numTextView.getText().toString());
  108.                                         }
  109.                                 });
  110.                                
  111.                         }
  112.                 });

  113. //                String imgUrl = getDate.get(position).get("image").toString();
  114. //        AsyncImageLoader loader = new AsyncImageLoader(mContext);
  115. //        //将图片缓存至外部文件中
  116. //        loader.setCache2File(true);        //false
  117. //        //设置外部缓存文件夹
  118. //        loader.setCachedDir(mContext.getCacheDir().getAbsolutePath());
  119.         
  120.         //下载图片,第二个参数是否缓存至内存中
  121. //        loader.downloadImage(imgUrl, false, new AsyncImageLoader.ImageCallback() {
  122. //                        @Override
  123. //                        public void onImageLoaded(Bitmap bitmap, String imageUrl) {
  124. //                                if(bitmap != null){
  125. //                                        holder.image.setImageBitmap(bitmap);
  126. //                                }else{
  127. //                                        //下载失败,设置默认图片
  128. //                                        holder.image.setImageResource(R.drawable.about_logo);
  129. //                                }
  130. //                        }
  131. //                });
  132.                 new AsyncImageLoader(mContext).downloadImage(getDate.get(position).get("image").toString(),true,
  133.                                 new ImageCallback() {
  134.                                         @Override
  135.                                         public void onImageLoaded(Bitmap bitmap, String imageUrl) {
  136.                                                 // TODO Auto-generated method stub
  137.                                                 holder.image.setImageBitmap(bitmap);
  138.                                         }
  139.                                 });
  140.                
  141.                 holder.name.setText(getDate.get(position).get("name")
  142.                                 .toString());
  143.                 holder.price.setText(getDate.get(position).get("price")
  144.                                 .toString());
  145.                 holder.numTextView.setText(String.valueOf(CartData.findCart(position)));
  146.                 holder.plusButton.setOnClickListener(new OnClickListener() {
  147.                         @Override
  148.                         public void onClick(View v) {
  149.                                 // TODO Auto-generated method stub
  150.                                 int num = Integer.parseInt(holder.numTextView.getText()
  151.                                                 .toString()) + 1;
  152.                                 holder.numTextView.setText(String.valueOf(num));

  153.                                 CartData.editCart(getDate.get(position).get("id").toString(),
  154.                                                 getDate.get(position).get("name").toString(),
  155.                                                 getDate.get(position).get("price").toString(),
  156.                                                 String.valueOf(num),
  157.                                                 getDate.get(position).get("image").toString());

  158.                         }
  159.                 });
  160.                 holder.minusButton.setOnClickListener(new OnClickListener() {

  161.                         @Override
  162.                         public void onClick(View v) {
  163.                                 // TODO Auto-generated method stub
  164.                                 int num = Integer.parseInt(holder.numTextView.getText()
  165.                                                 .toString()) - 1;
  166.                                 if (num >= 0) {
  167.                                         holder.numTextView.setText(String.valueOf(num));
  168.                                         if (num == 0) {
  169.                                                 CartData.removeCart(getDate.get(position)
  170.                                                                 .get("id").toString());
  171.                                         } else {
  172.                                                 CartData.editCart(getDate.get(position).get("id").toString(),
  173.                                                                 getDate.get(position).get("name").toString(),
  174.                                                                 getDate.get(position).get("price").toString(),
  175.                                                                 String.valueOf(num),
  176.                                                                 getDate.get(position).get("image").toString());
  177.                                         }

  178.                                 }
  179.                         }
  180.                 });
  181.                
  182.                 return convertView;
  183.         }

  184. }
复制代码

原文详情地址:http://git.oschina.net/einsqing/wemall-mobile

wemall-mobile商城详情地址:http://www.koahub.com/home/product/56

wemall官网地址:http://www.wemallshop.com

WeMall - 开源微商城 微信商城 商城源码 分销商城 b2b2c商城系统


最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-7 21:08

Copyright 2015-2025 djqfx

返回顶部