lmw
2023-06-13 4b7d8d9a038f6522df46d0f14fa07eb940a1b34d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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
    }
 
}