将textView替换为NumberPicker – Android

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

任何帮助将非常感激

谢谢

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

NB NumberPicker总是与整数工作我认为你可以修改你的计算方法,因为它永远不会从NumberPicker获得Double

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