NumberPicker 的值不会改变
The value of NumberPicker doesn't change
我是 android 和 Kotlin 的初学者。
我想从 NumberPicker 获取我设置为 displayedValues 的字符串值。
我试过了,但它只有 returns 个 Int 数字。
经过一番搜索,我发现了一个问题 Formatted value of NumberPicker disappears onClick,这可能是解决我的问题的方法。
但我是初学者,从未研究过 java,所以我无法将其应用到我的代码中。我需要你的帮助来确定我的代码是否正确,如果正确,我希望得到一个可以应用于 kotlin 的解决方案
谢谢!
val pickers = arrayListOf(picker1,picker2,picker3,picker4,picker5,picker6,picker7)
for (picker in pickers) {
picker.displayedValues = arrayOf(
"0", "30", "40", "50", "60", "1시간", "1시간 30분", "2시간", "2시간 30분", "3시간", "3시간 30분", "4시간",
"4시간 30분", "5시간"
)
picker.minValue = 0
picker.maxValue = 13
picker.setFormatter { num -> picker.displayedValues[num] }
那里对 Kotlin 的答案的翻译是
// do this outside the loop because it doesn't depend on picker
val f = NumberPicker::class.java.getDeclaredField("mInputText")
f.setAccessible(true)
// inside the loop
val inputText = f.get(picker) as EditText
inputText.setFilters(arrayOf())
(它被 try-catch
包围,如果你愿意,你也可以在 Kotlin 中做,但是特定的 catch
没有用;如果你这样做,它应该在 [=13= 之外]循环)。
我是 android 和 Kotlin 的初学者。 我想从 NumberPicker 获取我设置为 displayedValues 的字符串值。 我试过了,但它只有 returns 个 Int 数字。
经过一番搜索,我发现了一个问题 Formatted value of NumberPicker disappears onClick,这可能是解决我的问题的方法。
但我是初学者,从未研究过 java,所以我无法将其应用到我的代码中。我需要你的帮助来确定我的代码是否正确,如果正确,我希望得到一个可以应用于 kotlin 的解决方案 谢谢!
val pickers = arrayListOf(picker1,picker2,picker3,picker4,picker5,picker6,picker7)
for (picker in pickers) {
picker.displayedValues = arrayOf(
"0", "30", "40", "50", "60", "1시간", "1시간 30분", "2시간", "2시간 30분", "3시간", "3시간 30분", "4시간",
"4시간 30분", "5시간"
)
picker.minValue = 0
picker.maxValue = 13
picker.setFormatter { num -> picker.displayedValues[num] }
那里对 Kotlin 的答案的翻译是
// do this outside the loop because it doesn't depend on picker
val f = NumberPicker::class.java.getDeclaredField("mInputText")
f.setAccessible(true)
// inside the loop
val inputText = f.get(picker) as EditText
inputText.setFilters(arrayOf())
(它被 try-catch
包围,如果你愿意,你也可以在 Kotlin 中做,但是特定的 catch
没有用;如果你这样做,它应该在 [=13= 之外]循环)。