package com.sinata.xqmuse.ui.course.adapter
|
|
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.utils.SpanBuilder
|
import cn.sinata.xldutils.visible
|
import com.facebook.drawee.view.SimpleDraweeView
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.network.entity.CourseBean
|
import com.sinata.xqmuse.utils.HtmlUtils
|
import java.util.ArrayList
|
|
class CourseGridAdapter(list: ArrayList<CourseBean>,val isVoice:Boolean = false):HFRecyclerAdapter<CourseBean>(list, R.layout.item_course_grid) {
|
var isOrder:Boolean = false
|
override fun onBind(holder: ViewHolder, position: Int, data: CourseBean) {
|
holder.bind<SimpleDraweeView>(R.id.iv_bg).setImageURI(if (data.coverUrl.contains(",")) data.coverUrl.split(",").getOrNull(1) else data.coverUrl)
|
holder.setText(R.id.tv_title,if (isVoice) data.meditationTitle else data.courseTitle)
|
holder.setText(R.id.tv_subtitle,if (isVoice) data.coverDescription else if (!data.description.isNullOrEmpty()) data.description else HtmlUtils.getTextFromHtml(data.briefIntroduction))
|
holder.setText(R.id.tv_count,(if (isVoice) data.realLearnedNum else data.count).toString())
|
|
val iv_vip = holder.bind<View>(R.id.iv_vip)
|
val tv_price = holder.bind<TextView>(R.id.tv_price)
|
val tv_free = holder.bind<View>(R.id.tv_free)
|
if (isOrder){
|
val tvPay = holder.bind<TextView>(R.id.tv_not_pay)
|
iv_vip.gone()
|
tv_price.gone()
|
if (data.paymentStatus == 1){
|
tvPay.visible()
|
val s = "待支付 | ¥${data.generalPrice}"
|
tvPay.text = SpanBuilder(s).size(6,7,7).build()
|
}else
|
tvPay.gone()
|
}else when(data?.chargeType){ //1=免费 2=会员免费 3=单独收费
|
2->{
|
iv_vip.visible()
|
tv_price.gone()
|
tv_free.gone()
|
}
|
3->{
|
iv_vip.gone()
|
tv_price.visible()
|
tv_free.gone()
|
tv_price.text = SpanBuilder("¥${data.generalPrice}").size(0,1,6).build()
|
}
|
else->{
|
iv_vip.gone()
|
tv_price.gone()
|
if (data.courseType == 2) //线下
|
tv_free.gone()
|
else
|
tv_free.visible()
|
}
|
}
|
}
|
|
}
|