lmw
2024-07-09 b13afc751dbbce24753d008f1f87d2c5e133a4ad
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package com.dollearn.student.ui.worldcup
 
import android.view.animation.AnimationUtils
import androidx.recyclerview.widget.LinearLayoutManager
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.invisible
import cn.sinata.xldutils.visible
import com.dollearn.student.R
import com.dollearn.student.network.HttpManager
import com.dollearn.student.network.entity.CommonData
import com.dollearn.student.network.entity.WorldCupBean
import com.dollearn.student.network.request
import com.dollearn.student.ui.TransparentStatusBarActivity
import com.dollearn.student.ui.home.adapter.FilterAdapter
import com.dollearn.student.ui.worldcup.adapter.RefereeWorldAdapter
import com.dollearn.student.utils.extention.clickDelay
import kotlinx.android.synthetic.main.activity_course.*
 
class RefereeWorldListActivity : TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_course
 
    var type:Int? = null //运动营类型id
    var search:String? = null //搜索
    private val typeList = arrayListOf(CommonData(name = "全部"))
    private val filters = arrayListOf<String>() //筛选选项
    private val filterAdapter = FilterAdapter(filters)
 
    private val datas = arrayListOf<WorldCupBean>()
    private val adapter = RefereeWorldAdapter(datas)
 
    override fun initClick() {
        tv_search.clickDelay {
            val s = et_search.text.toString()
            search = if (s.isNullOrEmpty()) null else s
            refreshLayout.autoRefresh()
        }
        filterAdapter.setOnItemClickListener { view, position ->
            type = if (position == 0) null else typeList[position].id
            filterAdapter.checkedIndex = position
            filterAdapter.notifyDataSetChanged()
            cb_type.text = if (position == 0) "所在赛点" else typeList[position].name
            cb_type.isChecked = false
            refreshLayout.autoRefresh()
        }
        cb_type.setOnCheckedChangeListener { _, isChecked ->
            if (!isChecked)
                closeFilter()
            else{
                bg_filter.visible()
                rv_filter.visible()
                val loadAnimation = AnimationUtils.loadAnimation(this, R.anim.popup_in_from_top)
                rv_filter.startAnimation(loadAnimation)
            }
        }
        bg_filter.setOnClickListener {
            cb_type.isChecked = false
        }
        adapter.setOnItemClickListener { view, position ->
 
        }
    }
 
    override fun initView() {
        et_search.hint = "搜索"
        cb_type.text = "所在赛点"
        mtvybmcourse.gone()
        cb_shop.invisible()
        tv_sale.invisible()
        tv_distance.invisible()
        rv_course.layoutManager = LinearLayoutManager(this)
        rv_course.adapter = adapter
        refreshLayout.setOnRefreshListener {
            getData()
        }
        getData()
        //筛选
        rv_filter.layoutManager = LinearLayoutManager(this)
        rv_filter.adapter = filterAdapter
        //获取筛选项数据
        getSite()
    }
 
    private fun getData(){
        HttpManager.getWorldCupListCoach(type, search).request(this,success = { _, data->
            refreshLayout.finishRefresh()
            datas.clear()
            datas.addAll(data?: arrayListOf())
            adapter.notifyDataSetChanged()
        }){_,_->
            refreshLayout.finishRefresh(false)
        }
    }
 
    private fun getSite(){
        HttpManager.getWorldCupStore().request(this){ _, data->
            typeList.addAll(data?: arrayListOf())
            filters.addAll(typeList.map { it.name })
            filterAdapter.notifyDataSetChanged()
        }
    }
 
    private fun closeFilter(){
        bg_filter.gone()
        rv_filter.gone()
    }
}