我有一个分钟数字选择器。最初我将显示的值设置为15分钟的时间间隔。 即0,15,30,45,这意味着最小值为1,最大值为4. 在用户选择一个菜单选项时,我想动态地将相同的数字选取器更改为 有5分钟的间隔,这意味着显示的值将为0 ,5,10 ... 50,55 Min将保持为1,最大值将为12.修改或更改NumberPicker的最小值,最大值和显示值
它对两种类型的初始设置均正常工作。但是,当我尝试修改最大值或显示值时,我正在将数组从索引中移除。当改变特征两种方式时,即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);
}