package com.sinata.xqmuse.ui.home.adapter
|
|
import android.content.Context
|
import android.view.LayoutInflater
|
import android.view.View
|
import android.view.ViewGroup
|
import android.widget.TextView
|
import androidx.recyclerview.widget.RecyclerView
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.ellipsize
|
import cn.sinata.xldutils.visible
|
import com.facebook.drawee.view.SimpleDraweeView
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.network.entity.Banner
|
import com.sinata.xqmuse.network.entity.CommonItemBean
|
import com.youth.banner.adapter.BannerAdapter
|
import org.jetbrains.anko.toast
|
|
class LandscapeBannerAdapter(data:ArrayList<CommonItemBean>, private val context:Context)
|
:BannerAdapter<CommonItemBean,RecyclerView.ViewHolder>(data){
|
override fun onCreateHolder(parent: ViewGroup?, viewType: Int): RecyclerView.ViewHolder {
|
val view = LayoutInflater.from(context).inflate(R.layout.item_banner_round, parent, false)
|
return BannerViewHolder(view)
|
}
|
|
override fun onBindView(
|
holder: RecyclerView.ViewHolder?,
|
data: CommonItemBean?,
|
position: Int,
|
size: Int
|
) {
|
val bannerViewHolder = holder as BannerViewHolder
|
bannerViewHolder.iv_bg.setImageURI(data?.coverUrl?.split(",")?.get(0))
|
bannerViewHolder.tv_title.text = data?.meditationTitle
|
bannerViewHolder.tv_subtitle.text = data?.coverDescription?.ellipsize(18)
|
bannerViewHolder.tv_count.text = ((data?.realLearnedNum?:0)+(data?.virtualLearnedNum?:0)).toString()
|
when(data?.chargeType){ //1=免费 2=会员免费 3=单独收费
|
2->{
|
bannerViewHolder.iv_vip.visible()
|
bannerViewHolder.tv_price.gone()
|
}
|
3->{
|
bannerViewHolder.iv_vip.gone()
|
bannerViewHolder.tv_price.visible()
|
bannerViewHolder.tv_price.text = SpanBuilder("¥${data.generalPrice}").size(0,1,7).build()
|
}else->{
|
bannerViewHolder.iv_vip.gone()
|
bannerViewHolder.tv_price.gone()
|
}
|
}
|
}
|
|
inner class BannerViewHolder(v:View) :RecyclerView.ViewHolder(v){
|
var iv_bg:SimpleDraweeView = v.findViewById(R.id.iv_bg) as SimpleDraweeView
|
var tv_title:TextView = v.findViewById(R.id.tv_title) as TextView
|
var tv_subtitle:TextView = v.findViewById(R.id.tv_subtitle) as TextView
|
var tv_count:TextView = v.findViewById(R.id.tv_count) as TextView
|
var iv_vip:View = v.findViewById(R.id.iv_vip)
|
var tv_price:TextView = v.findViewById(R.id.tv_price)
|
}
|
}
|