android .view.WindowManager $ BadTokenException: невозможно добавить окно - нулевой токен недействителен; ваша деятельность запущена?
Я пытался вызвать DatePicker из this , и он работает нормально, пока я не вставлю его в фрагмент. На DatePickerDialog(...).show()
есть ошибка, и я думаю, что она не работает из-за контекста фрагмента.
Вот код (во фрагменте)
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val view: View = inflater!!.inflate(R.layout.fragment_fill1, container, false)
textview_date = view.text_view_date
button_date = view.button_date
textview_date!!.text = "--/--/----"
// create an OnDateSetListener
val dateSetListener = object : DatePickerDialog.OnDateSetListener {
override fun onDateSet(
view: DatePicker, year: Int, monthOfYear: Int,
dayOfMonth: Int
) {
cal.set(Calendar.YEAR, year)
cal.set(Calendar.MONTH, monthOfYear)
cal.set(Calendar.DAY_OF_MONTH, dayOfMonth)
updateDateInView()
}
}
button_date!!.setOnClickListener(object : View.OnClickListener {
override fun onClick(view: View) {
DatePickerDialog(
getActivity()!!.getApplicationContext(), //Context to fill
dateSetListener,
// set DatePickerDialog to point to today's date when it loads up
cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH)
).show() //Error on this line
}
})
// Return the fragment view/layout
return view
}
//Date Picker
private fun updateDateInView() {
val myFormat = "dd/MM/yyyy" // mention the format you need
val sdf = SimpleDateFormat(myFormat, Locale.US)
textview_date!!.text = sdf.format(cal.getTime())
}
Спасибо !!