android购物车遇到的问题
近期 做购物车的时候 ,遇到几个问题。如今 总结例如以下:
1:不让listview复用组件(购物车。或者有特殊操作的时候):
自己保存全部的view对象
public View getView(final int position, View convertView, ViewGroup parent) {
final DaydayCouponBean bean = list.get(position);
View view = DataCenter.shoppingCarMap.get(new Integer(position));
convertView = LayoutInflater.from(context).inflate(R.layout.daydaycoupon_shoppingcar_item, null);
DataCenter.shoppingCarMap.put(position, convertView);
} else {
convertView = DataCenter.shoppingCarMap.get(new Integer(position));
}
return view;
}
相应的Map
<strong>public static TreeMap<Integer, View> shoppingCarMap = new TreeMap<Integer, View>();</strong>
2:scrowvdiw嵌套lsitview 高度无法计算 每次更新数据集Arraylist之后,手动计算lsitview的高度,全部的item就都会初始化
或者 购物车 要 一次性 初始化全部的 item(如 获取全部的商品总额,不是当前页吗可见区域的总额)
<span style="font-size:14px;"> adapter.notifyDataSetChanged();
float density = getResources().getDisplayMetrics().density; // 屏幕密度(0.75 / 1.0 / 1.5)
<strong> UIUitls.setListViewHeightBasedOnChildren(listView, (int) (density * 20));</strong></span>
3:listview嵌套问题具体见:
http://ryanjoy.iteye.com/blog/1291331
注意,在使用listview嵌套listview发现,计算的高度还是比較诡异,解决的方法??要使用自己定义的listview
/**
* Created by david on 2014/6/30.
* 解决lsitview 嵌套 listveiw 高度计算错误。使用的lsitview
*/
public class MyListview extends ListView { public MyListview(Context context) {
super(context);
} public MyListview(Context context, AttributeSet attrs) {
super(context, attrs);
} public MyListview(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
} @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
<strong> int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);</strong>
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
每次又一次刷新lsitrview的时候
UIUitls.setListViewHeightBasedOnChildren(listView, DensityUtil.dip2px(120),beans.size() );
adapter.notifyDataSetChanged();
android购物车遇到的问题的更多相关文章
- Android 购物车功能的实现
首先,众所周知,ListView是Android最常用的控件,可以说是最简单的控件,也可以说是最复杂的控件. 作为一个Android初级开发者,可能会简单的ListView展示图文信息. 作为一个有一 ...
- Android购物车的实现,仿淘宝天猫京东等APP。处理RecyclerView或listview中的选中事件;
很久之前的代码了,拉出来晾晾! 购物车大致思路: 分为:商品.店铺.全选: 商品全部选中后--店铺自动选中:商品未全部选中(若有一个商品未选中)--店铺不选中. 店铺全部选中后--全选自动选中:店铺未 ...
- Android 购物车的实现
实现了购物车的全选 全不选 选中删除 选中状态下数量添加时总价随之添加等基本功能. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L ...
- Android项目实战(十):自定义倒计时的TextView
项目总结 -------------------------------------------------------------------------------------------- 有这 ...
- 【转】Android 实现蘑菇街购物车动画效果
原文出处:http://blog.csdn.net/wangjinyu501/article/details/38400479 1.思路 目前想到两种方式实现这种效果,一是使用Tween动画,直截 ...
- Android 实现蘑菇街购物车动画效果
版本号:1.0 日期:2014.8.6 版权:© 2014 kince 转载注明出处 使用过蘑菇街的用户基本上都知道有一个增加购物车的动画效果,此处不详细描写叙述想知道的能够去下载体验一下. 1 ...
- Android中购物车的全选、反选、问题和计算价格
此Demo主要解决的是购物车中的全选,反选计算价格和选中的条目个数的问题,当选中几条时,点击反选,会把当先选中的变为不选中,把不选中的变为选中.点击全选会全部选中,再次点击时,变为全部不选中. //- ...
- Android -- 贝塞尔二阶实现饿了么加入购物车效果
1,上周我们实现了简单的三阶贝塞尔曲线效果实例,今天是使用二阶贝塞尔曲线加动画实现的加入购物车效果,在码代码过程中出现了些问题,过一下和大家来探讨探讨,先看一下效果图 2,从上面的效果来看我们基本上可 ...
- Android实现购物车功能
如图: 主要代码如下: actvity中的代码: publicclassShoppingCartActivity extendsBaseActivity { private List< ...
随机推荐
- STL - Unorderedset - 自定义哈希函数
1. hash工具类 hashval.hpp #ifndef _Core_HashVal_H_ #define _Core_HashVal_H_ #include <functional> ...
- STL - 容器 - vector简单应用
VectorTest.cpp #include <vector> #include <iostream> #include <string> #include &l ...
- 限制RICHTEXTBOX的输入的范围
附件: http://files.cnblogs.com/xe2011/WindowsFormsApplication_LimitRichTextBoxInput.rar using ...
- 文件的上传Commons FileUpload(web基础学习笔记十六)
一.表单设置 <form action="<%=request.getContextPath()%>/jsp/admin/doAdd.jsp" enctype=& ...
- linux的fork()函数-进程控制
进程作为构成系统的基本细胞,不仅是系统中独立活动的实体,而且是独立竞争资源的基本实体.它要经历创建.执行.等待.终止等一系列过程. 一.fork入门知识(转载) 一个进程,包括代码.数据和分配给进程的 ...
- MySQL 设置慢查询为200ms
1:查看当前版本并设置long_query_time为0.2 mysql> select version(); +------------+ | version() | +----------- ...
- 关于NHibernate中存在于Session中实例的3种状态的简单分析
在使用NHibernate的时候.在Session中会有3种状态. 1. 瞬时状态 (Transient) 由 new 命令开辟内存空间的对象,也就是平时所熟悉的普通对象. 如: Student st ...
- div最小高度的2种写法
1.第一种写法: 原理:在IE6中,使用CSS定义div的高度的时候经常遇到这个问题,就是当div的最小高度小于一定的值以后,就会发现,无论你怎么设置最小高度,div的高度会固定在一个值不再发生变动, ...
- CentOS安装配置Samba
介绍 Samba可以让我们在windows中访问linux系统中的文件,如果用来调试linux虚拟机中的代码会非常的方便 1.安装 yum -y update yum install samba sa ...
- iOS开发之多媒体播放
iOS开发之多媒体播放 iOS sdk中提供了很多方便的方法来播放多媒体.本文将利用这些SDK做一个demo,来讲述一下如何使用它们来播放音频文件. AudioToolbox framework 使用 ...