Вы используете оператор утверждения ненулевого значения (!!
) для некоторых переменных. Он преобразует любое значение в тип ненулевой , а выдает исключение , если значение null .
Я подозреваю, что вы получаете NullPointerException
, когда вы используете этот оператор для переменной. Пожалуйста, убедитесь, что эти переменные инициализированы перед использованием для них оператора !!
:
chat, chat.timestamp, holder.date
UPDATE:
Используйте Long
для отметок времени, не конвертируйте их в Int
. Например, замените:
val currentTime = System.currentTimeMillis().toInt()
val chatTime: Int = chat.timestamp!!.toInt()
на:
val currentTime = System.currentTimeMillis()
val chatTime = chat.timestamp!!.toLong()
Это потому, что временные метки представлены в миллисекундах (или секундах, если это Unix timestamp), а значение может быть больше максимального значение типа Int
, то есть public const val MAX_VALUE: Int = 2147483647
.