Я работаю над приложением android и хочу установить интервал выбора времени на 30 минут вместо 1 минуты по умолчанию. Это мой код:
private void setTimePickerIntervalZeroThirtyMinutes(TimePicker timePicker) {
int TIME_PICKER_INTERVAL = 30;
NumberPicker minutePicker = timePicker.findViewById(Resources.getSystem().getIdentifier("minute", "id", "android"));
minutePicker.setMinValue(0);
minutePicker.setMaxValue((60 / TIME_PICKER_INTERVAL) + 28);
List<String> displayedValues = new ArrayList<>();
for(int i = 0; i < 60; i += TIME_PICKER_INTERVAL) {
displayedValues.add(String.format("%02d", i));
}
minutePicker.setDisplayedValues(displayedValues.toArray(new String[0]));
}
Если я запускаю вышеуказанную функцию, она отображает следующую ошибку:
java.lang.ArrayIndexOutOfBoundsException: length=2; index=30
at android.widget.NumberPicker.updateInputTextView(NumberPicker.java:1990)
at android.widget.NumberPicker.setDisplayedValues(NumberPicker.java:1554)
Я должен упомянуть, что я хочу установить минимальное значение 0 и максимальное значение до 30, поскольку в противном случае приложение не сможет правильно сохранить данные в базе данных. Бот, когда я это делаю, это дает мне ошибку, которую я тебе показал. Что я здесь не так делаю? Заранее спасибо!