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)
|
}
|
}
|
|
}
|