У меня есть код, который вызывает запуск DatePickerFragment
и TimePickerFragment
при нажатии кнопок в основном классе действия.
fun showDatePickerDialog(view: View) {
val newFragment = DatePickerFragment()
newFragment.show(supportFragmentManager, "datePicker")
}
fun showTimePickerDialog(view: View) {
TimePickerFragment().show(supportFragmentManager, "timePicker")
}
Затем я использовал это руководство из документации, чтобы инициировать этот процесс, который включает классы class DatePickerFragment : DialogFragment(), DatePickerDialog.OnDateSetListener
и class TimePickerFragment : DialogFragment(), TimePickerDialog.OnTimeSetListener
. Вот где возникла моя проблема. Это то, что я пытался сделать:
class DatePickerFragment : DialogFragment(), DatePickerDialog.OnDateSetListener {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
// Use the current date as the default date in the picker
val c = Calendar.getInstance()
val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH)
val day = c.get(Calendar.DAY_OF_MONTH)
// Create a new instance of DatePickerDialog and return it
return DatePickerDialog(activity, this, year, month, day)
}
override fun onDateSet(view: DatePicker, year: Int, month: Int, day: Int) {
// Do something with the date chosen by the user
var dateText = findViewbyId<textview>(R.id.text_newRem_date)
dateText.text("$day/$month/$year")
}
}
Просто я хотел отредактировать текст в text_newRem_date
TextView, чтобы отразить дату, выбранную для пользователя, то же самое относится к времени, но процессу будет точно так же. Я не знаком с тем, как работают классы, есть ли лучший способ сделать это? Фактически, я хочу передавать данные между каждым классом.
Я новичок в Kotlin dev, пожалуйста, простите меня, если это что-то действительно базовое c!