CalendarContract иногда возвращает нулевые значения

У меня проблема с курсором календаря. Иногда при запросе данных для событий календаря, участников или просто деталей календаря курсор возвращает нулевые значения.

пример

Объявить календарь посетителя курсора

val projection = arrayOf(
CalendarContract.Attendees.ATTENDEE_ID, 
CalendarContract.Attendees.ATTENDEE_EVENT_ID,
CalendarContract.Attendees.ATTENDEE_NAME, 
CalendarContract.Attendees.ATTENDEE_EMAIL,
CalendarContract.Attendees.ATTENDEE_RELATIONSHIP, 
CalendarContract.Attendees.ATTENDEE_TYPE,
CalendarContract.Attendees.ATTENDEE_STATUS)
val attendeesCursor = 
context.contentResolver.query(CalendarContract.Attendees.CONTENT_URI, 
        projection, 
        CalendarContract.Attendees.EVENT_ID + "=?", 
        arrayOf(eventId.toString()), // eventiId is sent as param
        null
)
if (attendeesCursor != null && attendeesCursor.isBeforeFirst) {
    attendeesCursor.moveToFirst()
}
return attendeesCursor

Предоставить информацию о посетителях

                val attendee = EventAttendee(
                    cursor.getLong(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_ID)),
                    cursor.getLong(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_EVENT_ID)),
                    cursor.getString(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_NAME)) ?,
                    cursor.getString(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_EMAIL)),
                    cursor.getInt(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_RELATIONSHIP)),
                    cursor.getInt(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_TYPE)),
                    cursor.getInt(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_STATUS))
            )

Иногда некоторые детали Attendee являются нулевыми... Я не знаю почему...

Как это возможно? Как этого избежать?

0 ответов

Другие вопросы по тегам