add_and_subtract.xml(布局文件)

<?xml version="1.0" encoding="utf-8"?>            

AddAndSubtractView 加减 (自定义组合控件)

public class AddAndSubtractView extends LinearLayout {private View mView;private TextView add,sub,number;private OnNumChangedListener onNumChangedListener;public AddAndSubtractView(Context context) {    this(context,null);}public AddAndSubtractView(Context context,AttributeSet attrs) {    this(context, attrs,-1);}public AddAndSubtractView(Context context,AttributeSet attrs, int defStyleAttr) {    super(context, attrs, defStyleAttr);    //添加布局和初始化控件    initView(context);    //监听    initListenter();}//加减的监听private void initListenter() {    //加    add.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View v) {            //调用加数的方法            add();        }    });    //减    sub.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View v) {            //调用减数的方法            sub();        }    });}//减得方法private void sub() {    //控件初始化的时候已经给了  1  获取    String sub = number.getText().toString();    //String类型转换成Int类型    int parseInt = Integer.parseInt(sub);    //判断    if (parseInt>1){        parseInt--;        setCurentCount(parseInt);    }else {        ToastUtil.showToast("不能再少了");    }}//加的方法private void add() {    //控件初始化的时候已经给了  1 获取    String add = number.getText().toString();\    //String类型转换成Int类型    int parseInt = Integer.parseInt(add);    parseInt++;    setCurentCount(parseInt);}//加减的方法都调用它  把加减的值传给接口public void setCurentCount(int parseInt) {    //更新 数量    number.setText(parseInt+"");    //判断    if (onNumChangedListener!=null){        onNumChangedListener.onNumChanged(this,parseInt);    }}public int getCurentCount(){    return Integer.parseInt(number.getText().toString());}//set方法public void setOnNumChangedListener(OnNumChangedListener onNumChangedListener) {    this.onNumChangedListener = onNumChangedListener;}//初始化控件private void initView(Context context) {    //添加组合控件的布局文件    mView=View.inflate(context,R.layout.add_and_subtract,this);    //控件初始化    add=mView.findViewById(R.id.tvAdd);    sub=mView.findViewById(R.id.tvSub);    number=mView.findViewById(R.id.tvNumber);    //初始的时候给1    number.setText("1");}//提供点击的接口public interface OnNumChangedListener {    void  onNumChanged(View view,int curNum);}}

更多相关文章

  1. Android学习笔记-Activity的生命周期
  2. Android自定义ViewGroup神器-ViewDragHelper
  3. Android仿微信进度弹出框的实现方法
  4. Android入门之SeekBar(纯java)
  5. java.lang.UnsatisfiedLinkError: No implementation found for
  6. AsyncTask 源码解析
  7. android NFC读卡demo 适用于M1,
  8. onConfigurationChanged的作用
  9. Android(安卓)ListView实现方法三(自定义适配器)

随机推荐

  1. android开发音乐播放器之进度条
  2. NDK 在 Android(安卓)studio如何使用(Andr
  3. Android(安卓)Developers:拖动和缩放
  4. Android(安卓)Studio 3.3.2 正式版的安装
  5. Android(安卓)OkHttp4 RequestBody.creat
  6. 开发小技巧--google推荐的底部导航栏的使
  7. Android(安卓)实现多图分享到微信朋友圈
  8. Android中MPAndroidChart使用Demo
  9. Android客户端+mysql+springmvc服务器端
  10. Android(安卓)NDK:①开发环境的搭建(Wind