package com.xw.yunwei.ui.task.selectCar 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.getResColor import com.xw.common.utils.BindUtils.getUrl import com.xw.common.viewAdapter.ImageDefault import com.xw.common.viewAdapter.ViewAdapter import com.xw.yunwei.R import com.xw.yunwei.databinding.ItemSelectCarBinding import com.xw.yunwei.model.CarModel class SelectCarAdapter(var listener: OnItemClickListener) : BaseQuickAdapter(R.layout.item_select_car) { var selectCar: CarModel? = null @SuppressLint("SetTextI18n", "NotifyDataSetChanged") override fun convert(holder: BaseViewHolder, item: CarModel) { val binding = DataBindingUtil.bind(holder.itemView) binding?.let { 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} | 车身编码:${item.vehicleCode}" 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 = "车辆异常" } } if (item.id == selectCar?.id) { binding.llContent.setBackgroundColor(getResColor(com.xw.common.R.color.blue_1)) binding.name.setTextColor(getResColor(com.xw.common.R.color.blue_5)) binding.color.setTextColor(getResColor(com.xw.common.R.color.blue_5)) } else { binding.llContent.setBackgroundColor(getResColor(com.xw.common.R.color.white)) binding.name.setTextColor(getResColor(com.xw.common.R.color.gray_9)) binding.color.setTextColor(getResColor(com.xw.common.R.color.gray_7)) } it.root.setOnClickListener { selectCar = if (selectCar == item) null else item notifyDataSetChanged() listener.onItemClick(item) } } } }