lmw
2025-04-03 8d72ec1b07a4fe0863b41b1140a8c0e679867b93
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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
            }
        }
    }
 
 
}