lmw
2024-06-18 1f45a54dc8e149548d3a61d1228741627aa4f23e
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
package com.dollearn.student.ui.worldcup.adapter
 
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.showAllowingStateLoss
import com.dollearn.student.R
import com.dollearn.student.dialog.CheckQrCodeDialog
import com.dollearn.student.network.entity.Student
import com.dollearn.student.utils.extention.clickDelay
import com.dollearn.student.utils.getQRcodeImg
import java.util.ArrayList
 
class StudentQrAdapter(students: ArrayList<Student>):HFRecyclerAdapter<Student>(students, R.layout.item_stu_wc_detail) {
 
    override fun onBind(holder: ViewHolder, position: Int, data: Student) {
        val tvIdCard = holder.bind<TextView>(R.id.tv_idCard)
        val name = "姓名:${data.name}"
        val age = "年龄:${data.age}岁"
        val phone = "联系电话:${if (data.phone.isNullOrEmpty()) "" else data.phone}"
        val idCard = "身份证号:${data.idcard}"
        tvIdCard.text = SpanBuilder(idCard).color(context,0,5,R.color.textColor66).bold(5,idCard.length).build()
        holder.setText(R.id.tv_name,SpanBuilder(name).color(context,0,3,R.color.textColor66).bold(3,name.length).build())
        holder.setText(R.id.tv_age,SpanBuilder(age).color(context,0,3,R.color.textColor66).bold(3,age.length).build())
        holder.setText(R.id.tv_phone,SpanBuilder(phone).color(context,0,5,R.color.textColor66).bold(5,phone.length).build())
        val content = "{\"id\":${data.id},\"isStudent\":${data.isStudent}}"
        holder.bind<ImageView>(R.id.iv_code).apply {
            setImageBitmap(getQRcodeImg(context, content))
            clickDelay {
                val dialog = CheckQrCodeDialog()
                dialog.arguments = bundleOf("qrinfo" to content,"title" to data.name)
                dialog.showAllowingStateLoss((context as BaseActivity).supportFragmentManager, "checkqr")
            }
        }
    }
 
}