2016-08-05 26 views
9

Bu hat aşırı yüklenme ebatları belirsizlik hataya sahip am: Referans içinKotlin'de Aşırı Yük Çözünürlüğü Belirsizliği nasıl giderilir (lambda yok)?

departureHourChoice!!.selectionModel.select(currentHourIndex)

:

  • departureHourChoice bir ChoiceBox<Int> olup, java.scene.control

  • currentHourIndex gelen bir Int olduğu

  • Aşırı Yük Çözünürlüğü Belirsizlik, .select() yönteminde gerçekleşir; Aşırı yüklenmiştir ve iki çeşit parametreyi kabul edebilir: (T obj) veya (int index).

  • .select() yöntemi, ChoiceBox öğesinin seçilmesine izin verir ve bu öğeye veya bu dizine atıfta bulunarak hangisinin seçilebileceğini belirleyebilirsiniz. Bu durumda Index'in (int) seçilmesini istiyorum. İşte

  • hata enter image description here

İnsan nasıl Aşırı yük Çözünürlük Belirsizlik çözüm getireceği fotoğraf nedir?

cevap

6

Size yapabilirsiniz geçici bir çözüm olarak this bug çarptı gibi görünüyor:

  • kutu currentHourIndex:

    lateinit var departureHourChoice: ChoiceBox<Int> 
    ... 
    val currentHourIndex = 1 
    departureHourChoice.selectionModel.select(currentHourIndex as Int?) 
    
  • veyabildirimini değiştirinjava.lang.Integer yerine Kotlin en Int kullanmak:

    lateinit var departureHourChoice: ChoiceBox<java.lang.Integer> 
    ... 
    val currentHourIndex = 1 
    departureHourChoice.selectionModel.select(currentHourIndex) 
    

fazla okuma: currentHourIndex` zaten olan `beri

0

Int için döküm deneyin:

departureHourChoice!!.selectionModel.select(currentHourIndex as Int) 
+1

bu ya derleme değil 'Int' – miensol

İlgili konular