Pregunta

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.

¿Fue útil?

Solución

    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!

enter image description here

Otros consejos

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);
            }
        });
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top