前提・実現したいこと
はじめてのandroidプログラミング第3版という本で、目覚まし時計のサンプルアプリを作っていたのですが、エラーが出て詰まってしまいました。エラーの箇所はoverride fun onCreateDialogのreturn DatePickerDialog(context,this,year,month,date)のcontextの部分です。
また、こちらで質問させていただくのは初めてなのですが、エラー箇所の書き方として適切な記述方法があれば教えて下さい。
よろしくお願い致します。
発生している問題・エラーメッセージ
Type mismatch. Required: Context Found: Context?
該当のソースコード
kotlin
class DatePickerFragment:DialogFragment(), DatePickerDialog.OnDateSetListener{
interface OnDateSelectedListener{ fun onSelected(year:Int, month:Int, date:Int) } private lateinit var listener:OnDateSelectedListener override fun onAttach(context: Context) { super.onAttach(context) if(context is OnDateSelectedListener){ listener=context } } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val c=Calendar.getInstance() val year=c.get(Calendar.YEAR) val month=c.get(Calendar.MONTH) val date=c.get(Calendar.DAY_OF_MONTH) return DatePickerDialog(context,this ,year,month,date) } override fun onDateSet(view: DatePicker?, year: Int, month: Int, date: Int) { listener.onSelected(year,month,date) }
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/23 14:15
2020/06/27 05:54 編集