Crear tareas con Dialogos

Descargar estos apuntes

Ejercicio

Vamos a crear una aplicación que sirva para guardar las tareas que tengamos pendientes, además nos permitirá guarda la tarea con la fecha seleccionada. Para ello crearemos una screen con el siguiente aspecto:

💡 Tips: Como no disponemos de los conocimientos necesarios, por ahora simularemos las tareas con un texto que separa cada tarea con dos saltos de línea \n

Al pulsar el FloatingButton Añadir se mostrará un dialogo con el siguiente aspecto.

Si escribimos el texto de la tarea y pulsamos Añadir tarea, a la cadena de las tareas se le añadirá el nuevo texto. Si pulsamos fuera del dialogo, no se añadirá ninguna tarea. Si se pulsa sobre Añadir Fecha de tarea se abrirá otro díalogo, DatePickerDialog que nos permitirá seleccionar una fecha.

Para calcular la fecha que devuelve DatePicker, podremos seguir el siguiente código:

//Siendo datePickerState de tipo rememberDatePickerState
 if(datePickerState.selectedDateMillis!=null) {
                    val formatter: DateFormat = SimpleDateFormat("dd/MM/yyyy")
                    val calendar = Calendar.getInstance()
                    calendar.timeInMillis = datePickerState.selectedDateMillis!!
                    val fechaString=formatter.format(calendar.time)
                }

Si pulsamos cancelar o fuera del dialogo, se cerrará sin devolver la fecha seleccionada.

Si añadimos dos tareas una con fecha y otra sin fecha, podría quedar de la siguiente manera:

Importante: Recuerda que debes realizar elevación de estado y que la lógica debe estar separada, por ahora la podemos poner en una Preview o en la Activity.