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
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
package com.dollearn.student.ui.discovery.adapter
 
import android.view.View
import android.widget.ImageView
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.dialog.EditUserDialog
import com.dollearn.student.network.entity.Student
import com.dollearn.student.ui.discovery.StudentManageActivity
import com.dollearn.student.ui.home.AddStudentActivity
import com.dollearn.student.utils.extention.clickDelay
import com.dollearn.student.utils.getQRcodeImg
import com.dollearn.student.utils.interfaces.StringCallback
import org.jetbrains.anko.startActivityForResult
import java.util.ArrayList
 
class StuManageAdapter(list: ArrayList<Student>) :HFRecyclerAdapter<Student>(list, R.layout.item_stu_manage){
    var delCallback:StringCallback? = null
 
    override fun onBind(holder: ViewHolder, position: Int, data: Student) {
        val name = "姓名:${data.name}"
        val age = "年龄:${data.age}岁"
        val phone = "联系电话:${if (data.phone.isNullOrEmpty()) "" else data.phone}"
        val idcard = "身份证号:${if (data.idcard.isNullOrEmpty()) "" else data.idcard}"
        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())
        holder.setText(R.id.tv_idCard,SpanBuilder(idcard).color(context,0,5,R.color.textColor66).bold(5,idcard.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")
            }
        }
        holder.bind<View>(R.id.tv_real_name).apply {
            visibility = if (data.idcard.isNullOrEmpty()) View.VISIBLE else View.GONE
            setOnClickListener {
                //去实名
                (context as StudentManageActivity).startActivityForResult<AddStudentActivity>(1,"type" to AddStudentActivity.TYPE_EDIT_WORLD, "user" to data)
            }
        }
        holder.bind<View>(R.id.iv_del).setOnClickListener {
            delCallback?.onResult(position.toString())
        }
 
        holder.bind<View>(R.id.iv_edit).setOnClickListener {
            EditUserDialog.show((context as BaseActivity).supportFragmentManager,data.id?:"",data.headImg?:"",data.height?:"",data.weight?:"",data.phone?:"",object :
                StringCallback {
                override fun onResult(rst: String) {
                    (context as StudentManageActivity).apply {
                        getStudent()
                    }
                }
            },true)
        }
    }
 
}