Сбой с этим сообщением: java.lang.ClassCastException: com.google.firebase.Timestamp не может быть приведен к java.util.Date. - PullRequest
0 голосов
/ 06 июля 2019

Я довольно новичок в Android Studio, и я работал над чьим-то более старым проектом с Firebase, и после обновления до более новых пакетов, включая пакеты Firebase и перехода на AndroidX, я получил сообщение

java.lang.ClassCastException: com.google.firebase.Timestamp cannot be cast to java.util.Date

Одним из таких мест, где это происходит, является строка, подобная этой:

Date lessonDate = course.lessonDates.get(i);

Другой ответ Stackoverflow предложил изменить .get (i); to .getTimestamp (i) .toDate (); но когда я попробовал это, я получил "Не удается разрешить метод getTimestamp (int). Для ясности, передается int для получения, потому что это массив из firebase. Как я могу решить все эти проблемы с датой?

Извините, если моя терминология неверна, я новичок в этом.

1 Ответ

0 голосов
/ 06 июля 2019

Класс Firebase TimeStamp имеет метод toDate (), который возвращает тип Date. Это может решить вашу проблему:

Date lessonDate = course.lessonDates.get(i).toDate();

Просто используйте с осторожностью, так как в документации указано, что он может потерять точность: https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp.html#toDate()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...