Я пытаюсь установить цвет фона для моего MaterialCardView, но у меня нет ожидаемого результата, я попытался следующими способами:
card.setBackground = R.color.red_color
Я подумал, потому что шестнадцатеричные числа, которые мой MaterialCardView показывает безbackground:
card.setCardBackgroundColor(0xB00020)
Единственный способ, которым я могу отображать свои карты в цвете, - это, но MaterialCardView показывает с прозрачностью, если я, например, добавлю 0xFFB00020, Android Studio выдаст мне ошибку, потому что функция ожидаетцелое число, но я не могу понять, почему мой ide выдает мне ошибку ?, если предполагается, что я передаю шестнадцатеричное число в качестве параметра:
card.setcardBackgroundColor(0x79B00020)
Это мой код:
override fun onBindViewHolder(holder: TableHolder, position: Int) {
if (position < tableList.size) {
val table = tableList[position]
val node = holder.table
//Log.e("NODE", node.toString())
holder.guestNumber.text = table.people.toString()
holder.tableName.text = table.description
if (node is MaterialCardView) {
when (table.status) {
"A" -> {
holder.descriptionTable.text = "ABIERTA"
node.setCardBackgroundColor(0xFF7903DAC6)
}
"D" -> {
holder.descriptionTable.text = "DISPONIBLE"
node.setCardBackgroundColor(0x79CA4B02)
}
"C" -> {
holder.descriptionTable.text = "CERRADA"
node.setCardBackgroundColor(0x79FF0266)
}
else -> {
holder.descriptionTable.text = node.context.getString(R.string.error_label)
node.setCardBackgroundColor(0x79B00020)
}
}
}
}
}
Первый случай выдает ошибку для 0xFF ...
РЕДАКТИРОВАТЬ
Я нашел решение! Для установки цвета фона для MaterialCardView в Kotlin необходимо проанализировать шестнадцатеричное значение для Int, например: 0xFFCA4B02.toInt()
Но кто-то может объяснить мне, почему это необходимо в kotlin?
Я надеюсь, что кто-то можетпомоги мне, привет.