我有几分钟的号码选择器。最初我将显示值设置为 15 分钟间隔。即,0,15,30,45 表示最小值为 1,最大值为 4。在用户选择菜单选项时,我想动态更改相同的数字选择器以具有 5 分钟的间隔,这意味着显示的值为 0,5, 10... 50,55 最小值将保持为 1,最大值为 12。
它适用于两种类型的初始设置。但是,当我尝试修改最大值或显示值时,我的数组超出了索引。当以两种方式更改特性时会出现问题,即 15 到 5 或 5 到 15 分钟的间隔。
问题是我做错了什么,还是数字选择器根本不可能。我的示例代码如下。谢谢。
private void setMinsPicker(String opt) {
String[] mins15 = { "0", "15", "30", "45" };
String[] mins5 = { "0", "5", "10", "15", "20", "25", "30", "35", "40",
"45", "50", "55" };
final String[] mins;
if (opt == "15") {
mins = mins15;
} else {
mins = mins5;
}
numPickerMinutes = (NumberPicker) findViewById(R.id.pMinutes);
int ml = mins.length;
numPickerMinutes.setMinValue(1);
numPickerMinutes.setDisplayedValues(mins);
numPickerMinutes.setMaxValue(ml);
}