提交 36d33404 authored 作者: lgd's avatar lgd

1.修改数字增减框

2.//TODO 坩埚下单,mes其他页面,mes用户反馈空也展示,编辑任务担当无法修改
上级 0b062579
...@@ -167,7 +167,7 @@ public class ProductBean { ...@@ -167,7 +167,7 @@ public class ProductBean {
private String transitPartTypeCode; private String transitPartTypeCode;
private Object remark; private Object remark;
private String carPrice; private String carPrice;
private int carNum; private String carNum;
private double carDoubleNum; private double carDoubleNum;
private int factoryId; private int factoryId;
private String factoryName; private String factoryName;
...@@ -259,11 +259,11 @@ public class ProductBean { ...@@ -259,11 +259,11 @@ public class ProductBean {
this.carPrice = carPrice; this.carPrice = carPrice;
} }
public int getCarNum() { public String getCarNum() {
return carNum; return carNum;
} }
public void setCarNum(int carNum) { public void setCarNum(String carNum) {
this.carNum = carNum; this.carNum = carNum;
} }
......
...@@ -186,7 +186,7 @@ public class TicketAddBean { ...@@ -186,7 +186,7 @@ public class TicketAddBean {
private Object customerBranchFactoryName; private Object customerBranchFactoryName;
private Object orderTypeName; private Object orderTypeName;
private String carPrice; private String carPrice;
private int carNum; private String carNum;
public String getCarPrice() { public String getCarPrice() {
return carPrice; return carPrice;
...@@ -196,11 +196,11 @@ public class TicketAddBean { ...@@ -196,11 +196,11 @@ public class TicketAddBean {
this.carPrice = carPrice; this.carPrice = carPrice;
} }
public int getCarNum() { public String getCarNum() {
return carNum; return carNum;
} }
public void setCarNum(int carNum) { public void setCarNum(String carNum) {
this.carNum = carNum; this.carNum = carNum;
} }
public int getCreatedBy() { public int getCreatedBy() {
......
...@@ -88,7 +88,7 @@ public class ProductOrderProTargetActivity extends WorkToolBarActivity { ...@@ -88,7 +88,7 @@ public class ProductOrderProTargetActivity extends WorkToolBarActivity {
for (ProductBean.RecordsBean recordsBean : carList) { for (ProductBean.RecordsBean recordsBean : carList) {
if (data.getId() == recordsBean.getId()) { if (data.getId() == recordsBean.getId()) {
etPrice.setText(recordsBean.getCarPrice()); etPrice.setText(recordsBean.getCarPrice());
num.setNumber(Integer.valueOf(recordsBean.getCarNum())); num.setNumber(recordsBean.getCarNum());
} }
} }
builder.setView(view); builder.setView(view);
...@@ -124,7 +124,7 @@ public class ProductOrderProTargetActivity extends WorkToolBarActivity { ...@@ -124,7 +124,7 @@ public class ProductOrderProTargetActivity extends WorkToolBarActivity {
* @param number 数量 * @param number 数量
* @param price 单价 * @param price 单价
*/ */
private void addCart(ProductBean.RecordsBean chooseProduct, int number, String price) { private void addCart(ProductBean.RecordsBean chooseProduct, String number, String price) {
boolean isHas = false; boolean isHas = false;
for (ProductBean.RecordsBean recordsBean : carList) { for (ProductBean.RecordsBean recordsBean : carList) {
if (chooseProduct.getId() == recordsBean.getId()) { if (chooseProduct.getId() == recordsBean.getId()) {
......
...@@ -669,7 +669,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose ...@@ -669,7 +669,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
* @param number 数量 * @param number 数量
* @param price 单价 * @param price 单价
*/ */
private void addCart(ProductBean.RecordsBean chooseProduct, int number, String price) { private void addCart(ProductBean.RecordsBean chooseProduct, String number, String price) {
boolean isHas = false; boolean isHas = false;
for (ProductBean.RecordsBean recordsBean : carList) { for (ProductBean.RecordsBean recordsBean : carList) {
if (chooseProduct.getId() == recordsBean.getId()) { if (chooseProduct.getId() == recordsBean.getId()) {
...@@ -744,7 +744,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose ...@@ -744,7 +744,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
addCartDialog.show(); addCartDialog.show();
} }
private void addCartInside(TradingBean.RecordsBean quantity, List<ProductBean.RecordsBean> data, int number) { private void addCartInside(TradingBean.RecordsBean quantity, List<ProductBean.RecordsBean> data, String number) {
for (ProductBean.RecordsBean bean : data) { for (ProductBean.RecordsBean bean : data) {
bean.setCarNum(number); bean.setCarNum(number);
} }
......
...@@ -138,7 +138,7 @@ public class StoreSaleCarActivity extends WorkToolBarActivity { ...@@ -138,7 +138,7 @@ public class StoreSaleCarActivity extends WorkToolBarActivity {
tvNum.setText("共 ".concat(productList.size() + "").concat(" 件")); tvNum.setText("共 ".concat(productList.size() + "").concat(" 件"));
String allPrice = ""; String allPrice = "";
for (ProductBean.RecordsBean recordsBean : productList) { for (ProductBean.RecordsBean recordsBean : productList) {
allPrice = MathUtils.add(allPrice, MathUtils.multiply(recordsBean.getCarNum() + "", recordsBean.getInternalPrice()+"", 2), 2); allPrice = MathUtils.add(allPrice, MathUtils.multiply(recordsBean.getCarNum(), recordsBean.getInternalPrice()+"", 3), 3);
} }
tvPrice.setText("总计: ¥ ".concat(allPrice)); tvPrice.setText("总计: ¥ ".concat(allPrice));
} }
......
...@@ -167,7 +167,7 @@ public class StoreSaleProductActivity extends WorkToolBarActivity { ...@@ -167,7 +167,7 @@ public class StoreSaleProductActivity extends WorkToolBarActivity {
* @param number 数量 * @param number 数量
* @param price 单价 * @param price 单价
*/ */
private void addCart(ProductBean.RecordsBean chooseProduct, int number, String price) { private void addCart(ProductBean.RecordsBean chooseProduct, String number, String price) {
boolean isHas = false; boolean isHas = false;
for (ProductBean.RecordsBean recordsBean : carList) { for (ProductBean.RecordsBean recordsBean : carList) {
if (chooseProduct.getId() == recordsBean.getId()) { if (chooseProduct.getId() == recordsBean.getId()) {
......
...@@ -137,7 +137,7 @@ public class StoreTradingProductActivity extends WorkToolBarActivity { ...@@ -137,7 +137,7 @@ public class StoreTradingProductActivity extends WorkToolBarActivity {
addCartDialog.show(); addCartDialog.show();
} }
private void addCart(TradingBean.RecordsBean quantity, List<ProductBean.RecordsBean> data, int number) { private void addCart(TradingBean.RecordsBean quantity, List<ProductBean.RecordsBean> data, String number) {
for (ProductBean.RecordsBean bean : data) { for (ProductBean.RecordsBean bean : data) {
bean.setCarNum(number); bean.setCarNum(number);
} }
......
...@@ -109,7 +109,7 @@ public class DeviceBuyProductActivity extends WorkToolBarActivity { ...@@ -109,7 +109,7 @@ public class DeviceBuyProductActivity extends WorkToolBarActivity {
* @param number 数量 * @param number 数量
* @param price 单价 * @param price 单价
*/ */
private void addCart(DeviceBean.RecordsBean chooseProduct, int number, String price) { private void addCart(DeviceBean.RecordsBean chooseProduct, String number, String price) {
boolean isHas = false; boolean isHas = false;
for (DeviceBean.RecordsBean recordsBean : carList) { for (DeviceBean.RecordsBean recordsBean : carList) {
if (chooseProduct.getId() == recordsBean.getId()) { if (chooseProduct.getId() == recordsBean.getId()) {
......
...@@ -90,7 +90,7 @@ public class WorkChooseProductActivity extends WorkToolBarActivity { ...@@ -90,7 +90,7 @@ public class WorkChooseProductActivity extends WorkToolBarActivity {
num.setNumber(recordsBean.getCarNum()); num.setNumber(recordsBean.getCarNum());
} }
} }
num.setMaxNum(data.getProductCount()); num.setMaxNum(Double.valueOf(data.getProductCount()));
builder.setView(view); builder.setView(view);
AlertDialog addCartDialog = builder.create(); AlertDialog addCartDialog = builder.create();
tvOk.setOnClickListener(new View.OnClickListener() { tvOk.setOnClickListener(new View.OnClickListener() {
...@@ -124,7 +124,7 @@ public class WorkChooseProductActivity extends WorkToolBarActivity { ...@@ -124,7 +124,7 @@ public class WorkChooseProductActivity extends WorkToolBarActivity {
* @param number 数量 * @param number 数量
* @param price 单价 * @param price 单价
*/ */
private void addCart(TicketAddBean.RecordsBean chooseProduct, int number, String price) { private void addCart(TicketAddBean.RecordsBean chooseProduct, String number, String price) {
boolean isHas = false; boolean isHas = false;
for (TicketAddBean.RecordsBean recordsBean : carList) { for (TicketAddBean.RecordsBean recordsBean : carList) {
if (chooseProduct.getId() == recordsBean.getId()) { if (chooseProduct.getId() == recordsBean.getId()) {
......
...@@ -41,11 +41,12 @@ public class DeviceCarAdapter extends BaseQuickAdapter<DeviceBean.RecordsBean, B ...@@ -41,11 +41,12 @@ public class DeviceCarAdapter extends BaseQuickAdapter<DeviceBean.RecordsBean, B
AddAndReduceView num = helper.getView(R.id.ar_num); AddAndReduceView num = helper.getView(R.id.ar_num);
num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() { num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() {
@Override @Override
public void OnNumberChanged(int vs) { public void OnNumberChanged(String vs) {
item.setCarNum(vs); item.setCarNum(vs);
helper.setText(R.id.tv_all_price, MathUtils.multiply(vs + "", item.getCarPrice(), 2)); helper.setText(R.id.tv_all_price, MathUtils.multiply(vs + "", item.getCarPrice(), 2));
EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData()))); EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData())));
} }
}); });
EditText etPrice = helper.getView(R.id.et_price); EditText etPrice = helper.getView(R.id.et_price);
etPrice.setText(item.getCarPrice()); etPrice.setText(item.getCarPrice());
......
...@@ -46,7 +46,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B ...@@ -46,7 +46,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B
helper.setText(R.id.tv_spec, item.getSpec()); helper.setText(R.id.tv_spec, item.getSpec());
helper.setText(R.id.tv_price, "¥".concat(String.valueOf(item.getInternalPrice()))); helper.setText(R.id.tv_price, "¥".concat(String.valueOf(item.getInternalPrice())));
helper.setText(R.id.tv_unit, String.valueOf(item.getWeight()).concat("吨")); helper.setText(R.id.tv_unit, String.valueOf(item.getWeight()).concat("吨"));
helper.setText(R.id.tv_all_price, MathUtils.multiply(item.getCarNum() + "", item.getInternalPrice()+"", 2)); helper.setText(R.id.tv_all_price, MathUtils.multiply(item.getCarNum() , item.getInternalPrice()+"", 3));
if (type == 1) { if (type == 1) {
helper.addOnClickListener(R.id.rl_choose_dep); helper.addOnClickListener(R.id.rl_choose_dep);
helper.addOnClickListener(R.id.rl_upload); helper.addOnClickListener(R.id.rl_upload);
...@@ -61,7 +61,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B ...@@ -61,7 +61,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B
AddAndReduceView num = helper.getView(R.id.ar_num); AddAndReduceView num = helper.getView(R.id.ar_num);
num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() { num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() {
@Override @Override
public void OnNumberChanged(int vs) { public void OnNumberChanged(String vs) {
item.setCarNum(vs); item.setCarNum(vs);
helper.setText(R.id.tv_all_price, MathUtils.multiply(vs + "", item.getCarPrice(), 2)); helper.setText(R.id.tv_all_price, MathUtils.multiply(vs + "", item.getCarPrice(), 2));
EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData()))); EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData())));
...@@ -75,7 +75,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B ...@@ -75,7 +75,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B
AddAndReduceView num = helper.getView(R.id.ar_num); AddAndReduceView num = helper.getView(R.id.ar_num);
num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() { num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() {
@Override @Override
public void OnNumberChanged(int vs) { public void OnNumberChanged(String vs) {
item.setCarNum(vs); item.setCarNum(vs);
helper.setText(R.id.tv_all_price, MathUtils.multiply(vs + "", item.getCarPrice(), 2)); helper.setText(R.id.tv_all_price, MathUtils.multiply(vs + "", item.getCarPrice(), 2));
EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData()))); EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData())));
...@@ -106,9 +106,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B ...@@ -106,9 +106,7 @@ public class StoreCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBean, B
} }
}); });
num.setNumber(item.getCarNum()); num.setNumber(item.getCarNum());
} }
} }
} }
...@@ -41,11 +41,12 @@ public class TradingProCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBe ...@@ -41,11 +41,12 @@ public class TradingProCarAdapter extends BaseQuickAdapter<ProductBean.RecordsBe
num.setNumber(item.getCarNum()); num.setNumber(item.getCarNum());
num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() { num.setOnNumberChangedListener(new AddAndReduceView.OnNumberChangedListener() {
@Override @Override
public void OnNumberChanged(int vs) { public void OnNumberChanged(String vs) {
item.setCarNum(vs); item.setCarNum(vs);
helper.setText(R.id.tv_all_price, "小计:"+MathUtils.multiply(vs + "", item.getInternalPrice() + "", 2)); helper.setText(R.id.tv_all_price, "小计:"+MathUtils.multiply(vs + "", item.getInternalPrice() + "", 2));
EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData()))); EventBus.getDefault().post(new ModifyCarEvent(JSON.toJSONString(getData())));
} }
}); });
} }
......
...@@ -5,6 +5,7 @@ import android.util.Log; ...@@ -5,6 +5,7 @@ import android.util.Log;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Arrays; import java.util.Arrays;
import freemarker.template.utility.CollectionUtils; import freemarker.template.utility.CollectionUtils;
...@@ -80,7 +81,8 @@ public class MathUtils { ...@@ -80,7 +81,8 @@ public class MathUtils {
value = "0"; value = "0";
} }
BigDecimal bg = new BigDecimal(value); BigDecimal bg = new BigDecimal(value);
return bg.setScale(scale, RoundingMode.HALF_UP).toString(); DecimalFormat decimalFormat = new DecimalFormat("#######################.###");
return decimalFormat.format(bg.setScale(scale, RoundingMode.HALF_UP));
} }
public static String converData(double value, Integer scale) { public static String converData(double value, Integer scale) {
...@@ -91,7 +93,8 @@ public class MathUtils { ...@@ -91,7 +93,8 @@ public class MathUtils {
strValue = String.valueOf(value); strValue = String.valueOf(value);
} }
BigDecimal bg = new BigDecimal(strValue); BigDecimal bg = new BigDecimal(strValue);
return bg.setScale(scale, RoundingMode.HALF_UP).toString(); DecimalFormat decimalFormat = new DecimalFormat("#######################.###");
return decimalFormat.format(bg.setScale(scale, RoundingMode.HALF_UP));
} }
...@@ -104,7 +107,8 @@ public class MathUtils { ...@@ -104,7 +107,8 @@ public class MathUtils {
} }
BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b1 = new BigDecimal(v1.trim());
BigDecimal b2 = new BigDecimal(v2.trim()); BigDecimal b2 = new BigDecimal(v2.trim());
return b1.multiply(b2).setScale(scale).toString(); DecimalFormat decimalFormat = new DecimalFormat("#######################.###");
return decimalFormat.format(b1.multiply(b2).setScale(scale, RoundingMode.HALF_UP));
} }
public static String add(String v1, String v2, Integer scale) { public static String add(String v1, String v2, Integer scale) {
...@@ -116,7 +120,8 @@ public class MathUtils { ...@@ -116,7 +120,8 @@ public class MathUtils {
} }
BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b1 = new BigDecimal(v1.trim());
BigDecimal b2 = new BigDecimal(v2.trim()); BigDecimal b2 = new BigDecimal(v2.trim());
return b1.add(b2).setScale(scale).toString(); DecimalFormat decimalFormat = new DecimalFormat("#######################.###");
return decimalFormat.format(b1.add(b2).setScale(scale, RoundingMode.HALF_UP));
} }
public static String subtract(String v1, String v2, Integer scale) { public static String subtract(String v1, String v2, Integer scale) {
...@@ -128,8 +133,10 @@ public class MathUtils { ...@@ -128,8 +133,10 @@ public class MathUtils {
} }
BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b1 = new BigDecimal(v1.trim());
BigDecimal b2 = new BigDecimal(v2.trim()); BigDecimal b2 = new BigDecimal(v2.trim());
return b1.subtract(b2).setScale(scale).toString(); DecimalFormat decimalFormat = new DecimalFormat("#######################.###");
return decimalFormat.format(b1.subtract(b2).setScale(scale, RoundingMode.HALF_UP));
} }
public static String divide(String v1, String v2, Integer scale) { public static String divide(String v1, String v2, Integer scale) {
if (TextUtils.isEmpty(v1)) { if (TextUtils.isEmpty(v1)) {
v1 = "0"; v1 = "0";
...@@ -139,7 +146,8 @@ public class MathUtils { ...@@ -139,7 +146,8 @@ public class MathUtils {
} }
BigDecimal b1 = new BigDecimal(v1.trim()); BigDecimal b1 = new BigDecimal(v1.trim());
BigDecimal b2 = new BigDecimal(v2.trim()); BigDecimal b2 = new BigDecimal(v2.trim());
return b1.divide(b2).setScale(scale).toString(); DecimalFormat decimalFormat = new DecimalFormat("#######################.###");
return decimalFormat.format(b1.divide(b2).setScale(scale, RoundingMode.HALF_UP));
} }
......
package com.wd.workoffice.util; package com.wd.workoffice.util;
import android.annotation.SuppressLint;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.database.Cursor; import android.database.Cursor;
...@@ -9,6 +10,7 @@ import android.provider.MediaStore; ...@@ -9,6 +10,7 @@ import android.provider.MediaStore;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -699,5 +701,47 @@ public class WorkUtils { ...@@ -699,5 +701,47 @@ public class WorkUtils {
return timer.start(); return timer.start();
} }
/*** 小数点后的位数 */
private static final int POINTER_LENGTH = 3;
private static final String POINTER = ".";
private static final String ZERO = "0";
private static int curSelection;
/***
* 保留两位小数
* @param editText
* @param length 整数数字长度
*/
@SuppressLint("SetTextI18n")
public static void keepTwoDecimals(EditText editText) {
String number = editText.getText().toString();
//第一位不能输入小点
if (number.length() == 1 && TextUtils.equals(number.substring(0, 1), POINTER)) {
editText.setText("");
return;
}
//第一位0时,后续不能输入其他数字
if (number.length() > 1 && TextUtils.equals(number.substring(0, 1), ZERO) &&
!TextUtils.equals(number.substring(1, 2), POINTER)) {
editText.setText(number.substring(0, 1));
editText.setSelection(editText.length());
return;
}
String[] numbers = number.split("\\.");
//已经输入小数点的情况下
if (numbers.length == 2) {
//小数处理
int decimalsLength = numbers[1].length();
if (decimalsLength > POINTER_LENGTH) {
curSelection = editText.getSelectionEnd();
editText.setText(number.substring(0, numbers[0].length() + 1 + POINTER_LENGTH));
editText.setSelection(editText.getText().length());
}
}
}
} }
package com.wd.workoffice.widget; package com.wd.workoffice.widget;
import android.content.Context; import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.wd.workoffice.R; import com.wd.workoffice.R;
import com.wd.workoffice.util.MathUtils;
import com.wd.workoffice.util.WorkUtils;
import flexible.xd.android_base.utils.ToastUtil; import flexible.xd.android_base.utils.ToastUtil;
...@@ -17,10 +21,9 @@ public class AddAndReduceView extends LinearLayout implements View.OnClickListen ...@@ -17,10 +21,9 @@ public class AddAndReduceView extends LinearLayout implements View.OnClickListen
private final Button add; private final Button add;
private final Button remove; private final Button remove;
private final TextView tvNum; private final EditText tvNum;
private int num = 1; private String num = "1";
private int maxNum = 10000; private double maxNum = 10000f;
public AddAndReduceView(Context context, AttributeSet attrs) { public AddAndReduceView(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
...@@ -31,58 +34,84 @@ public class AddAndReduceView extends LinearLayout implements View.OnClickListen ...@@ -31,58 +34,84 @@ public class AddAndReduceView extends LinearLayout implements View.OnClickListen
add.setOnClickListener(this); add.setOnClickListener(this);
remove.setOnClickListener(this); remove.setOnClickListener(this);
tvNum.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
WorkUtils.keepTwoDecimals(tvNum);
}
@Override
public void afterTextChanged(Editable s) {
try {
Double.valueOf(s.toString());
num = s.toString();
if (mOnNumberChangedListener != null)
mOnNumberChangedListener.OnNumberChanged(num);
}catch (Exception e){
}
}
});
} }
public void setNumber(int number) { public void setNumber(String number) {
num = number; num = number;
tvNum.setText(number + ""); tvNum.setText(number);
} }
public int getNumber() { public String getNumber() {
return num; return num;
} }
@Override @Override
public void onClick(View v) { public void onClick(View v) {
String s = tvNum.getText().toString();
num = Integer.parseInt(s);
switch (v.getId()) { switch (v.getId()) {
case R.id.btn_add: case R.id.btn_add:
if (num == maxNum) { if (Double.valueOf(num) == maxNum) {
ToastUtil.showShort("目前已选择最大数量"); ToastUtil.showShort("目前已选择最大数量");
return; return;
} }
num++; if (maxNum - Double.valueOf(num) < 1) {
tvNum.setText(num + ""); num = String.valueOf(maxNum);
tvNum.setText(num);
if (mOnNumberChangedListener != null) if (mOnNumberChangedListener != null)
mOnNumberChangedListener.OnNumberChanged(num); mOnNumberChangedListener.OnNumberChanged(num);
ToastUtil.showShort("目前已选择最大数量");
break; return;
case R.id.btn_reduce: }
if (num > 1) { num = MathUtils.add(num, "1", 3);
num--; tvNum.setText(num);
tvNum.setText(num + "");
if (mOnNumberChangedListener != null) if (mOnNumberChangedListener != null)
mOnNumberChangedListener.OnNumberChanged(num); mOnNumberChangedListener.OnNumberChanged(num);
return; break;
//接口回调 case R.id.btn_reduce:
if (Double.valueOf(num) <=1) {
Toast.makeText(getContext(), "不能小于0", Toast.LENGTH_SHORT).show();
} else { } else {
Toast.makeText(getContext(), "不能小于1", Toast.LENGTH_SHORT).show(); num = MathUtils.subtract(num, "1", 3);
tvNum.setText(num);
if (mOnNumberChangedListener != null)
mOnNumberChangedListener.OnNumberChanged(String.valueOf(num));
} }
break; break;
} }
} }
public int getMaxNum() { public Double getMaxNum() {
return maxNum; return maxNum;
} }
public void setMaxNum(int maxNum) { public void setMaxNum(Double maxNum) {
this.maxNum = maxNum; this.maxNum = maxNum;
} }
public interface OnNumberChangedListener { public interface OnNumberChangedListener {
void OnNumberChanged(int vs); void OnNumberChanged(String vs);
} }
private OnNumberChangedListener mOnNumberChangedListener; private OnNumberChangedListener mOnNumberChangedListener;
......
...@@ -14,12 +14,14 @@ ...@@ -14,12 +14,14 @@
android:textColor="#666666" android:textColor="#666666"
android:textSize="17sp" /> android:textSize="17sp" />
<TextView <EditText
android:id="@+id/tv_num" android:id="@+id/tv_num"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="30mm" android:layout_height="30mm"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_weight="1" android:layout_weight="1"
android:background="@null"
android:inputType="numberDecimal"
android:gravity="center" android:gravity="center"
android:text="1" android:text="1"
android:textColor="#5C7589" android:textColor="#5C7589"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论