2017-10-18 26 views
1

所以我有一些textViews,他們的輸入是數字,但爲了不太容易出錯我想用numberPickers來代替它。替換textView for NumberPicker - Android

我做了什麼

  • 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

不太清楚你想要什麼?到目前爲止,我已經意識到,你是否希望輸入字段作爲數字選擇器而不是TextView,並且需要相同的計算,是嗎? @Joedk –

+0

嗨對不起,我已經完成了計算(功能)。但目前的輸入是textViews,我想將它們替換爲數字選擇器:) – Joedk

+0

如果您需要輸入爲數字,則可以將EditText inputType屬性設置爲「number」。 「android:inputType =」number「 – Rachit

回答

0

如果你看看NumberPicker API,你會看到有一個方法getValue()它返回選定的值,這是int返回類型。你可以使用toDouble()爲您的計算方法以double類型

NB爲NumberPicker總是與整數工作我想你可以修改你的計算方法,因爲它永遠不會從NumberPicker

獲得雙倍

請確認,如果我沒't得到你想要的東西

+0

去確認,謝謝:) – Joedk

+0

這給了我錯誤pickerMinutes.value &&(distance.text.isNotEmpty()&& pace.text.isNotEmpty()) - >我試過它,我應該告訴你,也許整個班級?(我正在使用Kotlin,這就是爲什麼我使用.value而不是價值 – Joedk

+0

這會有所幫助,請給我你的課程以https://pastebin.com/鏈接。這將幫助我深入挖掘 –