lmw
2024-09-25 92778728b83ce1a34ba21bcdb061afdeca16cce5
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
package com.sinata.xqmuse.ui.course.adapter
 
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.utils.myToast
import com.sinata.xqmuse.R
import com.sinata.xqmuse.network.entity.Filter
import com.sinata.xqmuse.utils.Const
import com.sinata.xqmuse.utils.event.EmptyEvent
import org.greenrobot.eventbus.EventBus
import java.util.ArrayList
 
class FilterAdapter(filterList: ArrayList<Filter>,val isMine:Boolean = false) :HFRecyclerAdapter<Filter>(filterList, R.layout.item_course_filter){
    override fun onBind(holder: ViewHolder, position: Int, data: Filter) {
        holder.setText(R.id.tv_name,data.name)
        val rvItem = holder.bind<RecyclerView>(R.id.rv_item)
        rvItem.layoutManager = LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false)
        val adapter = FilterItemAdapter(data.list)
        adapter.isMine = isMine
        rvItem.adapter = adapter
        adapter.setOnItemClickListener { view, position ->
            if (isMine&&data.list[position].isUse == 0){ //该选项不可用
                context.myToast("暂未购买当前类型课程")
                return@setOnItemClickListener
            }
            data.list[position].checked = !data.list[position].checked
            adapter.notifyItemChanged(position)
            EventBus.getDefault().post(EmptyEvent(if (isMine) Const.EventCode.REFRESH_MY_COURSE else Const.EventCode.REFRESH_COURSE))
        }
    }
}