Obtenga una date de un DatePickerDialog en Kotlin Android

El siguiente fragment de código 'funciona' en el sentido de que actualiza el statusDateID correctamente. el problema que estoy teniendo es que aunque establece el statusDateID correctamente, la date no persistirá, y cuando actualizo mh.entryDate siempre es la date actual.

¿Cómo obtengo la date fuera del dialog? para que pueda actualizar mh.entryDate con la date elegida, no con la date actual.

Gracias por tu time.

fun changeDate(view: View) { var date: Calendar = Calendar.getInstance() var thisAYear = date.get(Calendar.YEAR).toInt() var thisAMonth = date.get(Calendar.MONTH).toInt() var thisADay = date.get(Calendar.DAY_OF_MONTH).toInt() val dpd = DatePickerDialog(this, DatePickerDialog.OnDateSetListener { view2, thisYear, thisMonth, thisDay -> // Display Selected date in textbox thisAMonth = thisMonth + 1 thisADay = thisDay thisAYear = thisYear statusDateID.setText("Date: " + thisAMonth + "/" + thisDay + "/" + thisYear) val newDate:Calendar =Calendar.getInstance() newDate.set(thisYear, thisMonth, thisDay) }, thisAYear, thisAMonth, thisADay) dpd.show() mh.entryDate = date.timeInMillis println("DATE DATA: "+thisAYear+ " "+thisAMonth+" " + thisADay) println("DATE CHANGED MILLISECS = "+mh.entryDate) } 

mh.entryDate se define como global y como LONG. Con las instrucciones println de debugging, tanto DATE DATA como DATE CHANGED MILLISECS muestran la date actual.

Simplemente configure la date dentro del método DatePickerDialog.OnDateSetListener con mh.entryDate = newDate.timeInMillis

 val dpd = DatePickerDialog(this, DatePickerDialog.OnDateSetListener { view2, thisYear, thisMonth, thisDay -> // Display Selected date in textbox thisAMonth = thisMonth + 1 thisADay = thisDay thisAYear = thisYear statusDateID.setText("Date: " + thisAMonth + "/" + thisDay + "/" + thisYear) val newDate:Calendar =Calendar.getInstance() newDate.set(thisYear, thisMonth, thisDay) mh.entryDate = newDate.timeInMillis // setting new date }, thisAYear, thisAMonth, thisADay) dpd.show() 

Está instanciando el object de date como una nueva instancia de Calendario, pero no lo está actualizando con la date del selector. date se crea, se consulta, pero nunca se actualiza.

  • falla en la construcción de Travis ci - causa: espacio PermGen
  • Tengo que reiniciar IDE para ejecutar testings
  • Error nulo al usar Glide con kotlin
  • Ordenar colección por múltiples campos en Kotlin
  • Llamar a un RxJava Single In Kotlin Lambda
  • Kotlin Cast String como String.Companion
  • ¿Cómo correctamente serializar tal JSON por medio de GSON Android?
  • Fallo de verificación de contrato en corda Hello World pt 2
  • Kotlin VS Scala: Implementar methods con parameters constructor primarios
  • Problema al convertir Java bean con inheritance a Kotlin
  • Este campo filtra un object de context