У меня есть функция, которая запускает всплывающие окна с Squareup CalendarView.Мне нужно инициализировать календарь во всплывающем окне, чтобы показать, но я не могу инициализировать его в файле XML, он должен быть в действии.
Я уже пытался получить инициализацию из действия, котороене родительский, и я получаю сообщение об ошибке, в котором говорится, что "Должен быть хотя бы один месяц для отображения. Вы забыли вызвать init ()?"Я попытался просто из родительского действия, но я понимаю, что я не посылаю никакой инициализации во всплывающее окно, поэтому я получаю ту же ошибку.
Вот мой код XML-файла
<com.squareup.timessquare.CalendarPickerView android:layout_width="match_parent"
android:id="@+id/calendar_dates"
android:layout_height="match_parent">
</com.squareup.timessquare.CalendarPickerView>
Здесьмоя функция в моей поп-активности, которая не является родительской.Я понимаю, что если я смогу использовать эту функцию в родительском действии и отправить инициализированный datePicker, я могу получить то, что ищу.
fun settingDate() {
val today = Date()
val nextYear = Calendar.getInstance()
nextYear.add(Calendar.YEAR, 1)
val datePicker = findViewById(R.id.calendar_dates) as CalendarPickerView
datePicker.init(today, nextYear.time).inMode(CalendarPickerView.SelectionMode.RANGE)
datePicker.setOnDateSelectedListener(object : CalendarPickerView.OnDateSelectedListener {
override fun onDateSelected(date: Date) {
val calSelected = Calendar.getInstance()
calSelected.time = date
val selectedDate =
"" + calSelected.get(Calendar.DAY_OF_MONTH) + " " + (calSelected.get(Calendar.MONTH) + 1) + " " + calSelected.get(
Calendar.YEAR
)
Toast.makeText(mContext, selectedDate, Toast.LENGTH_LONG).show()
}
override fun onDateUnselected(date: Date) {
}
})
}
Я ожидаю получить массив дат из всплывающего окна, которое яможно назначить двум DatePickers, которые есть у меня в родительском действии.