package com.sinata.xqmuse.ui.home.adapter
|
|
import android.view.View
|
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.sinata.xqmuse.R
|
import com.sinata.xqmuse.network.entity.CommonItemBean
|
import com.sinata.xqmuse.network.entity.HomeListBean
|
import com.sinata.xqmuse.network.entity.Menu
|
import com.sinata.xqmuse.ui.home.TypeVoiceActivity
|
import com.sinata.xqmuse.utils.interfaces.StringCallback
|
import com.youth.banner.Banner
|
import com.youth.banner.listener.OnBannerListener
|
import org.jetbrains.anko.startActivity
|
import java.util.ArrayList
|
|
class HomeAdapter(list: ArrayList<HomeListBean>) :HFRecyclerAdapter<HomeListBean>(list, R.layout.item_home_list){
|
val menus = arrayListOf<Menu>()
|
var callback:StringCallback? = null
|
override fun onBind(holder: ViewHolder, position: Int, data: HomeListBean) {
|
val cl_banner = holder.bind<View>(R.id.cl_banner)
|
val cl_menu = holder.bind<View>(R.id.cl_menu)
|
if (data.clientMeditationCategoryVO?.showType == null){
|
cl_menu.visible()
|
cl_banner.gone()
|
val iv_1 = holder.bind<SimpleDraweeView>(R.id.iv_1)
|
val iv_2 = holder.bind<SimpleDraweeView>(R.id.iv_2)
|
val iv_3 = holder.bind<SimpleDraweeView>(R.id.iv_3)
|
iv_1.setImageURI(menus[0].secondIconUrl)
|
iv_2.setImageURI(menus[1].secondIconUrl)
|
iv_3.setImageURI(menus[2].secondIconUrl)
|
iv_1.setOnClickListener {
|
context.startActivity<TypeVoiceActivity>("id" to menus[0].id,"title" to menus[0].categoryName)
|
}
|
iv_2.setOnClickListener {
|
context.startActivity<TypeVoiceActivity>("id" to menus[1].id,"title" to menus[1].categoryName)
|
}
|
iv_3.setOnClickListener {
|
context.startActivity<TypeVoiceActivity>("id" to menus[2].id,"title" to menus[2].categoryName)
|
}
|
}else{
|
cl_menu.gone()
|
cl_banner.visible()
|
holder.setText(R.id.tv_title,data.clientMeditationCategoryVO.categoryName)
|
holder.setText(R.id.tv_subtitle,data.clientMeditationCategoryVO.description)
|
holder.bind<View>(R.id.iv_more).setOnClickListener {
|
context.startActivity<TypeVoiceActivity>("title" to data.clientMeditationCategoryVO.categoryName,"id" to data.clientMeditationCategoryVO.id)
|
}
|
val banner_landscape = holder.bind<Banner<CommonItemBean,LandscapeBannerAdapter>>(R.id.banner_landscape)
|
val banner_card = holder.bind<Banner<CommonItemBean,CardBannerAdapter>>(R.id.banner_card)
|
if (data.clientMeditationCategoryVO.showType == 1){ //横版
|
banner_landscape.visible()
|
banner_card.gone()
|
val landscapeBannerAdapter = LandscapeBannerAdapter(data.clientMeditationVOList,context)
|
banner_landscape.adapter = landscapeBannerAdapter
|
banner_landscape.setOnBannerListener { _, position ->
|
callback?.onResult(data.clientMeditationVOList[position].id)
|
}
|
}else{ //竖版布局
|
banner_landscape.gone()
|
banner_card.visible()
|
val cardBannerAdapter = CardBannerAdapter(data.clientMeditationVOList,context)
|
banner_card.adapter = cardBannerAdapter
|
banner_card.setBannerGalleryEffect(110,12,0.92f)
|
banner_card.setOnBannerListener { _, position ->
|
callback?.onResult(data.clientMeditationVOList[position].id)
|
}
|
if (data.clientMeditationVOList.size>2)
|
banner_card.currentItem = 1
|
}
|
}
|
}
|
|
|
}
|