热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android组合式自定义控件实现购物车加减商品操作

这篇文章主要介绍了Android组合式自定义控件实现购物车加减商品操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android实现购物车加减商品操作的具体代码,供大家参考,具体内容如下

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private Addand mAddand;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      mAddand= findViewById(R.id.add);
  
      mAddand.setOnNumberChangedListener(new Addand.OnNumberChangedListener() {
        @Override
        public void OnNumberChanged(int vs) {
          Toast.makeText(MainActivity.this, vs+"", Toast.LENGTH_SHORT).show();
        }
      });
    }
  }

activity_main.xml



  

Addand.java

public class Addand extends FrameLayout implements View.OnClickListener{
  private ImageView mImage1;
  private ImageView mImage2;
  private TextView mText;
  int value;

  public Addand(@NonNull Context context) {
    this(context,null);
  }

  public Addand(@NonNull Context context, @Nullable AttributeSet attrs) {
    this(context, attrs,0);
  }

  public Addand(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    findView(context);
  }

  private void findView(Context context) {
    View view = View.inflate(context, R.layout.add, this);

     mImage1 =view.findViewById(R.id.image1);
     mImage2 = view.findViewById(R.id.image2);
     mText = view.findViewById(R.id.text);

     value=getValue();

     setValue(value);

     mImage1.setOnClickListener(this);
     mImage2.setOnClickListener(this);
  }
  private int vs=1;
  public int getValue() { //获取值

    String trim = mText.getText().toString().trim();
    if (!TextUtils.isEmpty(trim)){
      Integer.valueOf(vs);
    }
    return vs;
  }

  public void setValue(int value) {
    mText.setText(value+"");
  }

  @Override
  public void onClick(View view) {

    switch (view.getId()){
      case R.id.image1:
        add();
        break;
      case R.id.image2:
        jian();
        break;
    }
  }

  private void jian() {
    if (vs>1){
      vs--;
      setValue(vs);
    }

    mOnNumberChangedListener.OnNumberChanged(vs);
  }

  private void add() {

    if (vs<6){
      vs++;
      setValue(vs);
    }

    mOnNumberChangedListener.OnNumberChanged(vs);
  }

  public interface OnNumberChangedListener{
    void OnNumberChanged(int vs);
  }

  private OnNumberChangedListener mOnNumberChangedListener;

  public void setOnNumberChangedListener(OnNumberChangedListener onNumberChangedListener){
      mOnNumberChangedListener=onNumberChangedListener;
  }

}

add.xml



  

  

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文详细介绍了 Android 开发中 layout_gravity 属性的使用方法及其在不同布局下的效果,旨在帮助开发者更好地理解和利用这一属性来精确控制视图的布局。 ... [详细]
  • CentOS 系统管理基础
    本文介绍了如何在 CentOS 中查询系统版本、内核版本、位数以及磁盘分区的相关知识。通过这些命令,用户可以快速了解系统的配置和磁盘结构。 ... [详细]
  • 本文详细介绍如何使用 Python 集成微信支付的三种主要方式:Native 支付、APP 支付和 JSAPI 支付。每种方式适用于不同的应用场景,如 PC 网站、移动端应用和公众号内支付等。 ... [详细]
  • 优化Jenkins首次启动速度
    本文详细描述了在启动Jenkins后遇到的长时间加载问题,并提供了一种通过修改更新中心配置文件来显著提升启动速度的有效解决方案。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 本文探讨了如何在Java中使用JAXB解组两个具有相同名称但不同结构的对象。我们将介绍一个抽象类Bar及其具体实现,并展示如何正确地解析XML文档以获取正确的对象实例。 ... [详细]
  • Python3 中使用 lxml 模块解析 XPath 数据详解
    XPath 是一种用于在 XML 文档中查找信息的路径语言,同样适用于 HTML 文件的搜索。本文将详细介绍如何利用 Python 的 lxml 模块通过 XPath 技术高效地解析和抓取网页数据。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 近期我们开发了一款包含天气预报功能的万年历应用,为了满足这一需求,团队花费数日时间精心打造并测试了一个稳定可靠的天气API接口,现正式对外开放。 ... [详细]
  • 本文介绍了一种根据目标检测结果,从原始XML文件中提取并分析特定类别的方法。通过解析XML文件,筛选出特定类别的图像和标注信息,并保存到新的文件夹中,以便进一步分析和处理。 ... [详细]
  • 烤鸭|本文_Spring之Bean的生命周期详解
    烤鸭|本文_Spring之Bean的生命周期详解 ... [详细]
author-avatar
手机用户2502884601
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有