罗明文
2024-06-19 481723ce3c05d74fec53b8567b9c79d77bdcc155
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
package com.dollearn.student.ui.home.adapter
 
import android.graphics.Paint
import android.view.View
import android.widget.TextView
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.visible
import com.facebook.drawee.view.SimpleDraweeView
import com.dollearn.student.R
import com.dollearn.student.network.entity.Course
 
class CourseAdapter(datas: ArrayList<Course>) :
    HFRecyclerAdapter<Course>(datas, R.layout.item_course) {
    override fun onBind(holder: ViewHolder, position: Int, data: Course) {
        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.coverDrawing)
        holder.setText(R.id.tv_name, data.name)
        data.classStartTime?.let {
            val courseTime = holder.bind<TextView>(R.id.tv_time)
            if (it.isNullOrEmpty())
                courseTime.gone()
            else{
                courseTime.visible()
                holder.setText(R.id.tv_time, "上课时间:${data.classStartTime.joinToString(" | ")}")
            }
        }
 
        holder.setText(R.id.tv_join_count, "已报名:${data.applicantsNumber}人")
//        holder.bind<TextView>(R.id.tv_vip_price).apply {  //安雪晖:列表一律隐藏会员价
//            visibility = if (data.vipPrice == null) View.GONE else {
//                text = "会员价:¥${data.vipPrice}"
//                View.VISIBLE
//            }
//        }
        holder.setText(R.id.tv_price, if (data.paymentPrice!=0.0) "¥${data.paymentPrice}" else "${data.playPaiCoin}币")
        holder.bind<TextView>(R.id.tv_origin_price).apply {
            text = if (data.originalPrice == null||data.originalPrice == 0.0||data.originalPrice == data.paymentPrice) "" else "¥${data.originalPrice}"
            paintFlags = paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
        }
        holder.setText(
            R.id.tv_distance,
            if (data.distance == null) "" else "%.1fkm".format(data.distance)
        )
    }
}