在上一篇博客中,小编简单的介绍了如何使用listview来实现购物车,但是仅仅是简单的实现了列表的功能,随之而来一个新的问题,买商品的时候,我们可能不止想买一件商品,想买多个,或许有因为某种原因点错了,本来想买一件来着,小手不小心抖了一下,把数量错点成了三个,这个时候就涉及到一个新的功能,那就是增加和减少商品的数量,今天这篇博文,小编就来和小伙伴们分享一下,如何实现淘宝购物车中增加和减少商品数量的demo。

首先,我们来布局XML文件,具体代码如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><!-- 整体布局,包括增加和减少商品数量的符号以及中间的商品数量 --><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><!-- 减少商品数量的布局 --><Buttonandroid:id="@+id/addbt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#0157D3"android:text="-"></Button><!-- 商品数量的布局 --><EditTextandroid:id="@+id/edt"android:text="0"android:layout_width="wrap_content"android:layout_height="wrap_content"></EditText><!-- 增加商品数量的布局 --><Buttonandroid:id="@+id/subbt"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#0157D3"android:text="+"></Button><!-- 显示商品数量的布局 --><TextViewandroid:id="@+id/ttt"android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView></LinearLayout></RelativeLayout>

我们来看一下xml布局的页面会是什么样子的nie,如下图所示:

  

接着,我们来编写java类里面的代码,具体代码如下所示:

package jczb.shoping.ui;import android.R.string;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class ShoppingCartItemActivity extends Activity {private Button btAdd, btReduce;private EditText edtNumber;int num=0; //数量protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_shoppingcart_item);btAdd=(Button)findViewById(R.id.cart_pro_reduce);btReduce=(Button) findViewById(R.id.cart_pro_add);edtNumber=(EditText) findViewById(R.id.cart_pro_count);btAdd.setTag("+");btReduce.setTag("-");//设置输入类型为数字edtNumber.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);edtNumber.setText(String.valueOf(num));SetViewListener();}/*** 设置文本变化相关监听事件*/private void SetViewListener(){btAdd.setOnClickListener(new OnButtonClickListener());btReduce.setOnClickListener(new OnButtonClickListener());edtNumber.addTextChangedListener(new OnTextChangeListener());}/*** 加减按钮事件监听器* **/class OnButtonClickListener implements OnClickListener{@Overridepublic void onClick(View v){String numString = edtNumber.getText().toString();if (numString == null || numString.equals("")){num = 0;edtNumber.setText("0");} else{if (v.getTag().equals("-")){if (++num < 0)  //先加,再判断{num--;Toast.makeText(ShoppingCartItemActivity.this, "请输入一个大于0的数字",Toast.LENGTH_SHORT).show();} else{edtNumber.setText(String.valueOf(num));}} else if (v.getTag().equals("+")){if (--num < 0)  //先减,再判断{num++;Toast.makeText(ShoppingCartItemActivity.this, "请输入一个大于0的数字",Toast.LENGTH_SHORT).show();} else{edtNumber.setText(String.valueOf(num));}}}}}/*** EditText输入变化事件监听器*/class OnTextChangeListener implements TextWatcher{@Overridepublic void afterTextChanged(Editable s){String numString = s.toString();if(numString == null || numString.equals("")){num = 0;}else {int numInt = Integer.parseInt(numString);if (numInt < 0){Toast.makeText(ShoppingCartItemActivity.this, "请输入一个大于0的数字",Toast.LENGTH_SHORT).show();} else{//设置EditText光标位置 为文本末端edtNumber.setSelection(edtNumber.getText().toString().length());num = numInt;}}}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int after){}@Overridepublic void onTextChanged(CharSequence s, int start, int before,int count){}}}

最后,我们来看一下运行效果,如下图所示:

小编寄语:该博文小编主要简单的介绍了淘宝中如何实现增加和减少商品数量的小例子,希望可以帮助到有需要的小伙伴们,还是那句话对于小编来说,既是挑战更是机遇,因为知识都是相通的,再者来说,在小编的程序人生中,留下最珍贵的记忆,虽然以后小编不一定从事安卓这个行业,代码世界里,很多种事,有的甜蜜,有的温馨,有的婉转成歌,有的绵延不息,在这些故事里,我们唯一的共通之处就是,某年,某月,某个波澜不惊的日子里,曾经很爱很爱你!爱你--这段实习的日子里,安卓带给小编的种种的惊喜。

仿淘宝购物车demo---增加和减少商品数量相关推荐

  1. 仿淘宝购物车demo 增加和减少商品数量

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在上一篇 ...

  2. Android仿淘宝购物车demo

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 夏的热情 ...

  3. uniapp仿淘宝购物车demo

    项目是基于uview2.0的ui组件,并且在一定程度上修改过原本组件的代码(app-navbar是使用u-navbar在进行二次封装的组件:u-number-box也进行了修改),符合项目需求(这个看 ...

  4. Android一点 仿淘宝购物车动画

    首先看看ios上的淘宝购物车的动画效果ios淘宝购物车动画 我们实现的效果 看特效是分为两个界面,一个是主view,一个是弹出层.弹出层是用dialog实现的,只是加入了弹出的动画,这里就不分析了,我 ...

  5. 高仿淘宝购物车分分钟让你集成

    前言 做商城类电商app购物车确实一直是一个难点,为什么难呢? 主要原因呢是他里面的逻辑复杂,然后 百度的资源好像都不太理想,好多就是一个简单的listView来实现根本就达不到开发的需求.然后 一般 ...

  6. SSH框架实现仿淘宝购物demo

    还记得六月份实习的时候,以前做过一个电商的项目.项目里面须要实现相似淘宝购物车的移动端的demo.随着项目的进行,再一次跟购物车碰面,可是今天呢,不是移动端的需求.怎样使用SSH框架实现相似淘宝的购物 ...

  7. Android仿淘宝购物车

    最近项目需要实现类似淘宝购物车的功能,仿了一个,直接上代码: public class MainActivity extends Activity implements OnCartListener, ...

  8. Android 仿淘宝购物车实现

    功能基本和淘宝购物车一样,商品按照店铺分类显示,全选,反选,选中商品数量变化,总价随之变化.效果图 思路:店铺和商品都增加一个select属性,列表的CheckBox选择或未选中状态改变同时设置店铺和 ...

  9. 仿淘宝购物车商品颜色、尺寸选择。

    仿淘宝购买商品颜色.尺寸选择. 选项分为三种状态:可选.选中.不可选 上图看效果: 1,展示页 2,选中一个颜色,不支持的尺寸会自动变灰,成为不可点击状态 如果选择的是尺寸,同样颜色也可以自动筛选可以 ...

最新文章

  1. c语言编程输入年月日判断是否合法,C语言程序设计:输入年月日判断这是这一年中的第几天...
  2. Flutter开发之布局-1-Column(15)
  3. android camera viewport rect,Unity 实现屏幕抖动效果(通过Camera Viewport Rect)
  4. Xamarin.Android开发实践(四)
  5. mysql常用系统函数归类
  6. 《设计模式之禅》之——六大设计原则解读
  7. Advanced R之数据结构
  8. python最适合做什么-python学完之后比较适合哪些职业工作呢?
  9. JAVA学习笔记(五)
  10. 八数码 详解(C++)
  11. VC11、VC14、VC15库对应VisualStudio编译版本
  12. 矩阵公式(转置公式+求导公式)
  13. 是德科技N9020A 频谱分析仪技术资料说明
  14. Vue子组件与父组件(看了就会)
  15. 实时网速怎么看快慢_iQOO怎么显示网速 网络状态实时查看
  16. 浅谈地铁视频监控的方法与技巧
  17. pyinstaller 打包exe启动慢的问题
  18. 暗影精灵4风扇转速调节_答疑解惑,暗影精灵4用了半年的真实感受
  19. 开发基础 - Linux下安装SVN服务端
  20. 《计算机网络》学习笔记----第七版课后习题参考答案 第四章

热门文章

  1. 【毕业设计】flink大数据淘宝用户行为数据实时分析与可视化
  2. Windows 10配置GPU环境
  3. 服务器主板用什么芯片,C610芯片服务器主板用什么机箱好?
  4. 认识loadrunner及相关性能参数
  5. 手游推广,经营一家游戏公司需要多少人?
  6. 负整数的取模与取整的问题
  7. IP地址划分, 常见的CIDR划分,子网掩码对应表及在线CIDR工具
  8. 程序员女友在京东被领导“潜规则”,竟然不回绝:表明非单身会影响绩效
  9. 计算机金融专业美国学校排名,美国金融专业都有哪些种类?
  10. 关于应用程序无法正常启动0xc000007b的解决方案