我試圖用NumberPicker輸入範圍5.0..30.0中的值,步驟0.1。所以我將它的範圍設置爲50..300並添加了一個格式化程序。上限值和下限值表示爲我想要的值,但是當前值不包含小數點,如200,並且它很混亂。numberPicker格式,同時編輯
我應該添加哪個偵聽器(以及哪裏)強制NumberPicker始終格式化當前值?我試圖禁用focusable,禁用兒童focusable,使用我的格式化程序設置兒童[0]文本焦點更改...這可能嗎?
我試圖用NumberPicker輸入範圍5.0..30.0中的值,步驟0.1。所以我將它的範圍設置爲50..300並添加了一個格式化程序。上限值和下限值表示爲我想要的值,但是當前值不包含小數點,如200,並且它很混亂。numberPicker格式,同時編輯
我應該添加哪個偵聽器(以及哪裏)強制NumberPicker始終格式化當前值?我試圖禁用focusable,禁用兒童focusable,使用我的格式化程序設置兒童[0]文本焦點更改...這可能嗎?
錯過了:setDisplayedValues。這就是我需要的。
下面是解決方法:而不是設置mWidget.setFormatter(formatter)
,
String[] displayedValues = new String[mWidget.getMaxValue()-mWidget.getMinValue()+1];
for (int number = mWidget.getMinValue(); number<=mWidget.getMaxValue(); number++) {
displayedValues[number-mWidget.getMinValue()] = formatter.format(number);
}
mWidget.setDisplayedValues(displayedValues);
這似乎是在窗口小部件中的錯誤;但至少我們有一個解決方法。 –