lmw
2023-05-12 f67802a41f9e01444d1115f34ecc6e1beb05fc3b
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
package com.fuban.user.ui.mine.adapter
 
import android.view.View
import android.widget.ImageView
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.hidePhone
import cn.sinata.xldutils.visible
import com.fuban.user.R
import com.fuban.user.network.entity.Passenger
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.imageResource
import java.util.ArrayList
 
class PassengerAdapter(list: ArrayList<Passenger>,val callback:OnClickCallback? = null,val checkable:Boolean = false) :HFRecyclerAdapter<Passenger>(list, R.layout.item_passenger){
    override fun onBind(holder: ViewHolder, position: Int, data: Passenger) {
        holder.setText(R.id.tv_name,data.name)
        holder.setText(R.id.tv_phone,data.phone.hidePhone())
        holder.setText(R.id.tv_sex,if (data.sex == 1) "男" else "女")
        holder.setText(R.id.tv_id_card,data.idcode)
        val del = holder.bind<View>(R.id.iv_del)
        val edit = holder.bind<View>(R.id.iv_edit)
        val bg = holder.bind<View>(R.id.bg)
        val check = holder.bind<ImageView>(R.id.iv_check)
        if (checkable){
            del.gone()
            edit.gone()
            check.visible()
            if (data.checked){
                check.imageResource = R.mipmap.icon_raidobutton_selected
                bg.backgroundResource = R.drawable.bg_green_line_8dp
            }else{
                check.imageResource = R.mipmap.icon_raidobutton
                bg.backgroundResource = R.drawable.bg_grey_line_8dp
            }
        }else{
            del.setOnClickListener {
                callback?.onDel(position)
            }
            edit.setOnClickListener {
                callback?.onEdit(position)
            }
        }
    }
 
    interface OnClickCallback{
        fun onDel(position: Int)
        fun onEdit(position: Int)
    }
}