wemall app商城源码中实现带图片和checkbox的listview
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享其中实现带图片和checkbox的listview,供技术员参考学习。
import com.inuoer.util.AsyncImageLoader.ImageCallback; import com.inuoer.wemall.R; public class MainAdapter extends BaseAdapter { private LayoutInflater mInflater;// 得到一个LayoutInfalter对象用来导入布局 private ArrayList<Map<String, Object>> getDate; private Context mContext; public MainAdapter(Context context , ArrayList<Map<String, Object>> getDate) { this.mContext = context; this.mInflater = LayoutInflater.from(context); this.getDate = getDate; } @Override public int getCount() { // TODO Auto-generated method stub return getDate.size();// 返回数组的长度 } @Override public Object getItem(int position) { // TODO Auto-generated method stub return getDate.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @SuppressLint("NewApi") @Override public View getView(final int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub final ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.itemlist_shop, null); holder.image = (ImageView) convertView .findViewById(R.id.itemlist_image); holder.name = (TextView) convertView .findViewById(R.id.itemlist_shopname); holder.price = (TextView) convertView .findViewById(R.id.waimai_shopmenu_adapter_item_price); holder.plusButton = (ImageButton) convertView .findViewById(R.id.plus_btn); holder.minusButton = (ImageButton) convertView .findViewById(R.id.minus_btn); holder.numTextView = (TextView) convertView .findViewById(R.id.count); convertView.setTag(holder);// 绑定ViewHolder对象 } else { holder = (ViewHolder) convertView.getTag();// 取出ViewHolder对象 } convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub final LinearLayout layout = (LinearLayout) mInflater.inflate(R.layout.dialog_detail, null); final Dialog dialog = new Dialog(mContext); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(layout); dialog.show(); final ImageView imageView = (ImageView) layout.findViewById(R.id.dialog_detail_big_image); new AsyncImageLoader(mContext).downloadImage(getDate.get(position).get("image").toString(),true, new ImageCallback() { @Override public void onImageLoaded(Bitmap bitmap, String imageUrl) { // TODO Auto-generated method stub imageView.setImageBitmap(bitmap); } }); TextView textViewPrice = (TextView)layout.findViewById(R.id.dialog_detail_single_price); textViewPrice.setText(holder.price.getText().toString()); TextView textViewNum = (TextView) layout.findViewById(R.id.count); textViewNum.setText(holder.numTextView.getText().toString()); layout.findViewById(R.id.dialog_detail_close).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog.dismiss(); } }); layout.findViewById(R.id.dialog_detail_addcart).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog.dismiss(); } }); final TextView textViewin = (TextView) layout.findViewById(R.id.count); layout.findViewById(R.id.plus_btn).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub holder.plusButton.callOnClick(); textViewin.setText(holder.numTextView.getText().toString()); } }); layout.findViewById(R.id.minus_btn).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub holder.minusButton.callOnClick(); textViewin.setText(holder.numTextView.getText().toString()); } }); } }); // String imgUrl = getDate.get(position).get("image").toString(); // AsyncImageLoader loader = new AsyncImageLoader(mContext); // //将图片缓存至外部文件中 // loader.setCache2File(true); //false // //设置外部缓存文件夹 // loader.setCachedDir(mContext.getCacheDir().getAbsolutePath()); //下载图片,第二个参数是否缓存至内存中 // loader.downloadImage(imgUrl, false, new AsyncImageLoader.ImageCallback() { // @Override // public void onImageLoaded(Bitmap bitmap, String imageUrl) { // if(bitmap != null){ // holder.image.setImageBitmap(bitmap); // }else{ // //下载失败,设置默认图片 // holder.image.setImageResource(R.drawable.about_logo); // } // } // }); new AsyncImageLoader(mContext).downloadImage(getDate.get(position).get("image").toString(),true, new ImageCallback() { @Override public void onImageLoaded(Bitmap bitmap, String imageUrl) { // TODO Auto-generated method stub holder.image.setImageBitmap(bitmap); } }); holder.name.setText(getDate.get(position).get("name") .toString()); holder.price.setText(getDate.get(position).get("price") .toString()); holder.numTextView.setText(String.valueOf(CartData.findCart(position))); holder.plusButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub int num = Integer.parseInt(holder.numTextView.getText() .toString()) + 1; holder.numTextView.setText(String.valueOf(num)); CartData.editCart(getDate.get(position).get("id").toString(), getDate.get(position).get("name").toString(), getDate.get(position).get("price").toString(), String.valueOf(num), getDate.get(position).get("image").toString()); } }); holder.minusButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub int num = Integer.parseInt(holder.numTextView.getText() .toString()) - 1; if (num >= 0) { holder.numTextView.setText(String.valueOf(num)); if (num == 0) { CartData.removeCart(getDate.get(position) .get("id").toString()); } else { CartData.editCart(getDate.get(position).get("id").toString(), getDate.get(position).get("name").toString(), getDate.get(position).get("price").toString(), String.valueOf(num), getDate.get(position).get("image").toString()); } } } }); return convertView; } }
原文详情地址:http://git.oschina.net/einsqing/wemall-mobile
wemall-mobile商城详情地址:http://www.koahub.com/home/product/56
wemall官网地址:http://www.wemallshop.com
WeMall - 开源微商城 微信商城 商城源码 分销商城 b2b2c商城系统
wemall app商城源码中实现带图片和checkbox的listview的更多相关文章
- wemall app商城源码中android按钮的三种响应事件
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码中android按 ...
- wemall app商城源码中基于JAVA的Android异步加载图片管理器代码
wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中 ...
- wemall app商城源码中基于JAVA的绑定和处理fragments和viewpager之间的逻辑关系代码
wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中 ...
- wemall app商城源码中基于PHP的ThinkPHP惯例配置文件代码
wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中 ...
- wemall app商城源码中基于JAVA通过Http请求获取json字符串的代码
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.分享其中关于通过Http请求获取json字符串的代码供 ...
- wemall app商城源码中ScrollView中嵌套ListView主要代码
很多时间我们在scorllview中嵌入listview的时候,都只能看到listview显示一行数据,而我们的要求是显示多行,即我们数据的行数, 当ListView的高度设定一定的值时,ListVi ...
- wemall app商城源码中基于PHP的通用的树型类代码
wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中 ...
- wemall app商城源码Android之支付宝通知处理类
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之处 ...
- wemall app商城源码Android之支付宝接口公用函数
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...
随机推荐
- Intent的属性及Intent-filter配置——Data、Type属性与intent-filter配置
Data属性通常用于向Action属性提供操作的数据,Data属性接受一个Uri对象,一个Uri对象通常通过如下形式的字符串来表示: content://com.android.contacts/co ...
- Swift之UITabBarController 导航控制器颜色的改变
废话不多 直接上代码 self.window = UIWindow(frame: UIScreen.mainScreen().bounds) self.window!.backgroundColor ...
- 开篇 Android系统的体系结构
1.APPLICATIONS (应用程序层) 2.APPLICATION FRAMEWORK(应用程序框架) android应用程序提供了大量应用程序供开发者使用,当我看开发android应用程序时 ...
- easelJS入门、事件、spritesheet
easelJS入门.事件.spritesheet <%@ page language="java" contentType="text/html; charset= ...
- HibernateTemplate实现查询distinct构造对象
1,hql代码 select distinct new UserLogins( u.username,u.person,u.accName) from UserLogins u where u.ipA ...
- Bagging决策树:Random Forests
1. 前言 Random Forests (RF) 是由Breiman [1]提出的一类基于决策树CART的Bagging算法.论文 [5] 在121数据集上比较了179个分类器,效果最好的是RF,准 ...
- 我为什么不看好微信小程序
我自认为对新技术还是比较有热情的,可对于小程序这个“新技术”,我却完全是被动的.去年9月份的时候,微信小程序开始内测,瞬间引爆朋友圈.知乎等一众分享平台.当时我大概了解了一下,觉得从技术角度上来说没啥 ...
- KB奇遇记(5):奇葩的用人制度
8月份入职,公司不给我们正式任命,导致了我们开展工作困难重重,基本上很少有人会鸟你,做事仿佛名不正言不顺.哪怕你是未来信息部的老大也一样,网管们根本不买你的账.所以做ERP选型,做旧OA的选型以及加密 ...
- SQL Server 2008 sp3启用1433端口的方法
SQL Server 2008 SP3一般的默认端口是1433,但有时候会遇到一些问题导致1433端口无法启用.这是笔者给大家指导如何开启1433端口 工具/原料 SQL Server 2008 ...
- gulp实时编译less,压缩合并requirejs模块文件
gulp的使用命令简单,就几个,gulp的简单使用教材可以参考一点的gulp使用教材(http://www.ydcss.com/archives/18). 下面就简单的介绍这些命令如何互相配合的完成前 ...