package com.kuanzhai.driver.ui.adapter
|
|
import android.view.View
|
import cn.sinata.xldutils.utils.gone
|
import cn.sinata.xldutils.utils.setColor
|
import cn.sinata.xldutils.utils.visible
|
import com.kuanzhai.driver.R
|
import com.kuanzhai.driver.base.BaseRvAdapter
|
import com.kuanzhai.driver.base.BaseViewHolder
|
import com.kuanzhai.driver.bean.SelectServerModeBean
|
import kotlinx.android.synthetic.main.item_select_server_mode.view.*
|
|
class SelectServerModeAdapter : BaseRvAdapter<SelectServerModeBean.DataBean>() {
|
|
var selectPosition = mutableListOf<Int>()
|
|
override fun getLayoutResId(viewType: Int): Int {
|
return R.layout.item_select_server_mode
|
}
|
|
override fun onBindItem(
|
holder: BaseViewHolder?,
|
view: View?,
|
item: SelectServerModeBean.DataBean?
|
) {
|
holder?.let {
|
it.itemView.tv_name.gone()
|
it.itemView.tv_name_start.gone()
|
it.itemView.tv_name.text = item!!.name
|
it.itemView.tv_name_start.text = item!!.name
|
if (item.id in 108..109) {
|
holder.itemView.iv_img.setImageResource(R.mipmap.swith_off)
|
it.itemView.tv_name_start.visible()
|
holder.itemView.iv_img.visible()
|
} else {
|
holder.itemView.iv_img.setImageResource(R.mipmap.icon_tick)
|
it.itemView.tv_name.visible()
|
}
|
if (item.id in 108..109) {
|
if (selectPosition.contains(holder.adapterPosition)) {
|
holder.itemView.tv_name_start.setColor(context, R.color.main_yellow)
|
holder.itemView.iv_img.setImageResource(R.mipmap.switch_on)
|
} else {
|
holder.itemView.tv_name_start.setColor(context, R.color.black_333333)
|
holder.itemView.iv_img.setImageResource(R.mipmap.swith_off)
|
}
|
}else{
|
if (selectPosition.contains(holder.adapterPosition)) {
|
holder.itemView.tv_name.setColor(context, R.color.main_yellow)
|
holder.itemView.iv_img.visible()
|
} else {
|
holder.itemView.tv_name.setColor(context, R.color.black_333333)
|
holder.itemView.iv_img.gone()
|
}
|
}
|
|
it.itemView.setOnClickListener {
|
if (item.id in 108..109) {
|
if (selectPosition.contains(holder.adapterPosition)) {
|
selectPosition.remove(holder.adapterPosition)
|
notifyDataSetChanged()
|
} else {
|
selectPosition.add(holder.adapterPosition)
|
selectPosition.remove(if (holder.adapterPosition == 0) 1 else 0)
|
notifyDataSetChanged()
|
}
|
} else {
|
if (selectPosition.contains(holder.adapterPosition)) {
|
selectPosition.remove(holder.adapterPosition)
|
holder.itemView.tv_name.setColor(context, R.color.black_333333)
|
holder.itemView.iv_img.gone()
|
|
} else {
|
selectPosition.add(holder.adapterPosition)
|
holder.itemView.tv_name.setColor(context, R.color.main_yellow)
|
holder.itemView.iv_img.visible()
|
}
|
}
|
|
}
|
}
|
}
|
|
|
fun getSelectId(): String {
|
var content = ""
|
for (item in selectPosition) {
|
if (item == selectPosition.last()) {
|
content += data[item].id.toString()
|
} else {
|
content += data[item].id.toString() + ","
|
}
|
}
|
return content
|
}
|
|
}
|