替换textView for NumberPicker - Android

时间:2017-10-18 08:50:23

标签: android kotlin android-number-picker

所以我有一些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

非常感谢任何帮助

由于

1 个答案:

答案 0 :(得分:0)

如果查看NumberPicker API,您会看到有一个方法getValue()返回选定的值,即int返回类型。您可以使用toDouble(),因为您的计算方法采用双重类型

N.B作为NumberPicker始终使用整数我认为你可以修改你的计算方法,因为它永远不会从NumberPicker获得Double

如果我没有得到你想要的东西,请确认