public class SubAddButton extends LinearLayout {
private View view;
private TextView tvSub,tvNub,tvAdd;
private OnNumChangedListener numChangedListener;
//new调用
public SubAddButton(Context context) {
this(context,null);
}
//xml使用
public SubAddButton(Context context,AttributeSet attrs) {
this(context, attrs,-1);
}
//指定的时候
public SubAddButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setOrientation(VERTICAL);
init(context);
initLitenner();
}
private void init(Context context) {
view = View.inflate(context, R.layout.goods_jia_jian, this);
tvSub = view.findViewById(R.id.tvSub);
tvNub = view.findViewById(R.id.tvNub);
tvAdd = view.findViewById(R.id.tvAdd);
}
private void initLitenner() {
tvSub.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sub();
}
});
tvAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
add();
}
});
}
private void sub() {
String old = tvNub.getText().toString();
int newNub=0;
if(!TextUtils.isEmpty(old) && !old.contains(".")){
newNub=Integer.parseInt(old);
newNub--;
}
if(newNub<0){
newNub =0;
Toast.makeText(getContext(),"最小数量为0",Toast.LENGTH_LONG).show();
tvNub.setText(newNub +"");
}else {
tvNub.setText(newNub +"");
if (numChangedListener !=null){
numChangedListener.onNumChanged(Integer.valueOf(old),newNub);
}
}
}
private void add() {
String old = tvNub.getText().toString();
int newNub=0;
if(!TextUtils.isEmpty(old) && !old.contains(".")){
newNub=Integer.parseInt(old);
newNub++;
}
tvNub.setText(newNub+"");
if (numChangedListener!=null){
numChangedListener.onNumChanged(Integer.valueOf(old),newNub);
}
}
/* public int getNumber(){
String cur = tvNub.getText().toString();
if (!TextUtils.isEmpty(cur) && !cur.contains(".")){
return Integer.parseInt(cur);
}
return 0;
}*/
public void setNum(int newNub) {
if (newNub > 0) {
tvNub.setText(newNub + "");
} else {
Toast.makeText(getContext(), "最小数量为0", Toast.LENGTH_SHORT).show();
}
}
public void setNumChangedListener(OnNumChangedListener numChangedListener) {
this.numChangedListener = numChangedListener;
}
public interface OnNumChangedListener{
void onNumChanged(int old,int newNub);
}
}
商品加减器
最新推荐文章于 2021-06-07 16:04:14 发布