時間を取得するダイアログを実行しようとしたのですが、以下のエラーになりました。
エラー
kotlin.UninitializedPropertyAccessException: lateinit property listener has not been initialized
at com.example.myalarmclock.TimePickerFragment.onTimeSet(Dialogs.kt:103)
ソース
class TimePickerFragment : DialogFragment(),
TimePickerDialog.OnTimeSetListener {
interface OnTimeSelectedListener { fun onSelected(hourOfDay: Int, minute: Int) } private lateinit var listener: OnTimeSelectedListener override fun onAttach(context: Context?) { super.onAttach(context) if(context is TimePickerFragment.OnTimeSelectedListener) { listener = context } } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val c2 = Calendar.getInstance() val hour = c2.get(Calendar.HOUR_OF_DAY) val minute = c2.get(Calendar.MINUTE) return TimePickerDialog(context, this, hour, minute, true) } override fun onTimeSet(view: TimePicker, hourOfDay: Int, minute: Int) { listener.onSelected(hourOfDay, minute) }
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。