I want to create a timer and since I couldn't create a digital interface that is editable for the user to set the time I want to use the NumberPicker. However the NumberPicker only displays 1 digit for the numbers between 0-9. How do you format the picker so that it will display two digits such as 01 02 03 and so forth.
numberPicker.setMaxValue(10);
numberPicker.setMinValue(0);
numberPicker.setFormatter(new NumberPicker.Formatter() {
@Override
public String format(int i) {
return String.format("%02d", i);
}
});
This will do the trick!
Implement a custom NumberPicker.Formatter that implements your value display padding and call setFormatter.
NumberPicker monthPicker = (NumberPicker) view.findViewById(R.id.np_month);
monthPicker.setMinValue(1);
monthPicker.setMaxValue(12);
monthPicker.setFormatter(new NumberPicker.Formatter() {
@Override
public String format(int i) {
return String.format("%02d", i);
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With