layoutnumber= LayoutInflater.from(mContext).inflate(R.layout.numblerchoice,null);
xNumberPicker=(NumberPicker)layoutnumber.findViewById(R.id.xNumberPicker);
yNumberPicker=(NumberPicker)layoutnumber.findViewById(R.id.yNumberPicker);
zNumberPicker=(NumberPicker)layoutnumber.findViewById(R.id.zNumberPicker);
xNumberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
yNumberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
zNumberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
xNumberPicker.setMinValue(0);
yNumberPicker.setMinValue(0);
zNumberPicker.setMinValue(0);
yNumberPicker.setMaxValue(type1.length - 1);
yNumberPicker.setDisplayedValues(type1);
zNumberPicker.setMaxValue(price1.length - 1);
zNumberPicker.setDisplayedValues(price1);
xNumberPicker.setMaxValue(kuanshi.length - 1);
xNumberPicker.setDisplayedValues(kuanshi);
setNumberPickerDividerColor(xNumberPicker);
setNumberPickerDividerColor(yNumberPicker);
setNumberPickerDividerColor(zNumberPicker);
xNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
x = kuanshi[newVal];
data.get(postion).setKuanshi(x);
adapter.notifyDataSetChanged();
switch (newVal) {
case 0:
yNumberPicker.setMaxValue(0);
yNumberPicker.setDisplayedValues(type1);
yNumberPicker.setMaxValue(type1.length - 1);
zNumberPicker.setMaxValue(0);
zNumberPicker.setDisplayedValues(price1);
zNumberPicker.setMaxValue(price1.length - 1);
flag=0;
break;
case 1:
yNumberPicker.setMaxValue(0);
yNumberPicker.setDisplayedValues(type2);
yNumberPicker.setMaxValue(type2.length - 1);
zNumberPicker.setMaxValue(0);
zNumberPicker.setDisplayedValues(price2);
zNumberPicker.setMaxValue(price2.length - 1);
flag=1;
break;
case 2:
yNumberPicker.setMaxValue(0);
yNumberPicker.setDisplayedValues(type3);
yNumberPicker.setMaxValue(type3.length - 1);
zNumberPicker.setMaxValue(0);
zNumberPicker.setDisplayedValues(price3);
zNumberPicker.setMaxValue(price3.length - 1);
flag=2;
break;
case 3:
yNumberPicker.setMaxValue(0);
yNumberPicker.setDisplayedValues(type4);
yNumberPicker.setMaxValue(type4.length - 1);
zNumberPicker.setMaxValue(0);
zNumberPicker.setDisplayedValues(price4);
zNumberPicker.setMaxValue(price4.length - 1);
flag=3;
break;
}
}
});
yNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
switch (flag){
case 0:
y=type1[newVal];
break;
case 1:
y=type2[newVal];
break;
case 2:
y=type3[newVal];
break;
case 3:
y=type4[newVal];
break;
}
data.get(postion).setType(y);
adapter.notifyDataSetChanged();
}
});
zNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
switch (flag){
case 0:
z=price1[newVal];
break;
case 1:
z=price2[newVal];
break;
case 2:
z=price3[newVal];
break;
case 3:
z=price4[newVal];
break;
}
data.get(postion).setPrice(z);
adapter.notifyDataSetChanged();
}
});
sure=(Button)findViewById(R.id.sure);
add=(Button)findViewById(R.id.add);
add.setOnClickListener(this);
mark=(EditText)findViewById(R.id.mark);
sure.setOnClickListener(this);
adapter=new XBoxdemanadapter(data,mContext);
typelist=(NoScrollListView)findViewById(R.id.typelist);
typelist.setAdapter(adapter);
}
public void setNumberPickerDividerColor(NumberPicker numberPicker) {
NumberPicker picker = numberPicker;
Field[] pickerFields = NumberPicker.class.getDeclaredFields();
for (Field pf : pickerFields) {
if (pf.getName().equals("mSelectionDivider")) {
pf.setAccessible(true);
try {
//设置分割线的颜色值
pf.set(picker, new ColorDrawable(ContextCompat.getColor(mContext, R.color.divercolor1)));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (Resources.NotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
break;
}
if (pf.getName().equals("mSelectionDividerHeight")) {
pf.setAccessible(true);
try {
int result = 1;
pf.set(picker, 1);
} catch (Exception e){
e.printStackTrace();
}
break;
}
}
}
NumberPicker的使用简记
最新推荐文章于 2024-01-03 09:23:18 发布