我有一個分鐘數字選擇器。最初我將顯示的值設置爲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);
}