package com.xw.yunwei.ui.work.car.manage import android.annotation.SuppressLint import androidx.databinding.DataBindingUtil import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.xw.common.base.OnItemClickListener import com.xw.common.utils.BindUtils.getUrl import com.xw.common.utils.BindUtils.getResColor import com.xw.common.viewAdapter.ImageDefault import com.xw.common.viewAdapter.ViewAdapter import com.xw.yunwei.R import com.xw.yunwei.databinding.ItemWorkManageCarBinding import com.xw.yunwei.model.CarModel class CarAdapter(var listener: OnItemClickListener) : BaseQuickAdapter(R.layout.item_work_manage_car) { var selectItem: CarModel? = null @SuppressLint("SetTextI18n") override fun convert(holder: BaseViewHolder, item: CarModel) { val binding: ItemWorkManageCarBinding? = DataBindingUtil.bind(holder.itemView) binding?.let { it.root.setOnClickListener { listener.onItemClick(item) } if (item == selectItem) { it.parent.setBackgroundColor(getResColor(com.xw.common.R.color.gray_3)) } else { it.parent.setBackgroundColor(getResColor(com.xw.common.R.color.white)) } var url = "" try { url = item.vehiclePictures?.getUrl() ?: "" } catch (e: Exception) { } ViewAdapter.loadImage(binding.icon, ImageDefault(url, R.mipmap.img_work_car)) binding.name.text = item.plateNumber binding.color.text = item.vehicleColor binding.batteryLife.text = "${item.mileageRange?.toInt()}km" binding.batteryLife.setTextColor( com.xw.common.custom.BatteryView.getBatteryColor( item.currentElectricity ?: 0 ) ) binding.batteryView.setLevel(item.currentElectricity ?: 0) val setStatus: (Int, Int) -> Unit = { text, bg -> binding.status.setTextColor(text) binding.status.setBackgroundResource(bg) } // 1=运营中 2=维修中 3=已收车 4=车辆异常 when (item.operatingStatus) { 1 -> { setStatus( getResColor(com.xw.common.R.color.blue_5), com.xw.common.R.color.blue_1 ) binding.status.text = "运营中" } 2 -> { setStatus( getResColor(com.xw.common.R.color.red_5), com.xw.common.R.color.red_1 ) binding.status.text = "维修中" } 3 -> { setStatus( getResColor(com.xw.common.R.color.gray_7), com.xw.common.R.color.gray_3 ) binding.status.text = "已收车" } 4 -> { setStatus( getResColor(com.xw.common.R.color.orange_5), com.xw.common.R.color.orange_1 ) binding.status.text = "车辆异常" } } } } }