Cześć, mam listę w której mam dwie daty. W kalendarzu wybieram jakąs datę i chcę spawdzic czy była ona w liście wybranych dat.
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val dates: ArrayList<DateData> = ArrayList()
dates.add(DateData(2020, 3, 26))
dates.add(DateData(2020, 3, 12))
for (i in 0 until dates.size) {
binding.calendarView.markDate(
dates[i].year,
dates[i].month,
dates[i].day
)
}
binding.calendarView.setOnDateClickListener(object : OnDateClickListener() {
override fun onDateClick(view: View, date: DateData) {
val data = LocalDate.parse(date.toString(), formatter)
if(dates.contains(data)){
Toast.makeText(context, "zazanczona", Toast.LENGTH_LONG).show()
}else {
Toast.makeText(context, "nie zazanczona", Toast.LENGTH_LONG).show()
}
}
})
Problem jest w tej linijce: if(dates.contains(data))
dates to jest <DateData>, data jest typu LocalDate
i w wyżej wymienionej linicje wywala błąd: type inference failed. the value of the type parameter t should be mentioned in input types(argument types, receiver or expected type) Try to specify it explicitly.
Próbowałem to formatować na wiele sposobów ale nie udało mi się.