所以我有一些textViews
他们的输入是数字,但为了不太容易出错,我想用numberPickers
替换它。
我做了什么
TextViews
工作NumberPickers
工作我需要什么:
替换输入法
这就是我对textViews
when {
time.text.isEmpty() && (distance.text.isNotEmpty() && pace.text.isNotEmpty()) ->
calculatePace(null, distance.text.toString().toDouble(), pace.text.toString())
distance.text.isEmpty() && (time.text.isNotEmpty() && pace.text.isNotEmpty()) ->
calculatePace(time.text.toString(), null, pace.text.toString())
pace.text.isEmpty() && (time.text.isNotEmpty() && distance.text.isNotEmpty()) ->
calculatePace(time.text.toString(), distance.text.toString().toDouble(), null)
else -> {
Toast.makeText(this, "Please check fields",
Toast.LENGTH_SHORT).show()
}
}
这些是我的pickers
:
val pickerMinutes = numberPicker as NumberPicker
val pickerSeconds = numberPickerSeconds as NumberPicker
pickerMinutes.minValue = 0
pickerMinutes.maxValue = 60
pickerMinutes.wrapSelectorWheel = false
pickerMinutes.isEnabled = true
pickerSeconds.minValue = 0
pickerSeconds.maxValue = 60
pickerSeconds.wrapSelectorWheel = false
pickerSeconds.isEnabled = true
非常感谢任何帮助
由于
答案 0 :(得分:0)
如果查看NumberPicker API,您会看到有一个方法getValue()
返回选定的值,即int返回类型。您可以使用toDouble()
,因为您的计算方法采用双重类型
N.B作为NumberPicker始终使用整数我认为你可以修改你的计算方法,因为它永远不会从NumberPicker获得Double
如果我没有得到你想要的东西,请确认