lmw
2025-02-06 ab2842d427504c531c79ddb9c5a9ef1df7833014
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
package com.sinata.xqmuse.ui.course
 
import androidx.recyclerview.widget.GridLayoutManager
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.visible
import com.sinata.xqmuse.R
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.entity.*
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.ui.course.adapter.CourseGridAdapter
import com.sinata.xqmuse.utils.Const
import com.sinata.xqmuse.utils.event.EmptyEvent
import kotlinx.android.synthetic.main.activity_my_course.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
 
class MyCourseActivity : TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_my_course
 
    private val myList = arrayListOf<CourseBean>()
    private val myAdapter = CourseGridAdapter(myList)
    private val freeList = arrayListOf<CourseBean>()
    private val freeAdapter = CourseGridAdapter(freeList)
 
    override fun initClick() {
        myAdapter.setOnItemClickListener { _, position ->
            showDialog()
            HttpManager.getPayCourseInfoById(myList[position].id).request(this,success = { _, data->
                dismissDialog()
                data?.goDetail(this)
            }){_,_->
                dismissDialog()
            }
        }
        freeAdapter.setOnItemClickListener { _, position ->
            showDialog()
            HttpManager.getPayCourseInfoById(freeList[position].id).request(this,success = { _, data->
                dismissDialog()
                data?.goDetail(this)
            }){_,_->
                dismissDialog()
            }
        }
        tv_ask.setOnClickListener {
            startActivity<HelpCenterActivity>()
        }
        tv_action.setOnClickListener {
            EventBus.getDefault().post(EmptyEvent(Const.EventCode.SWITCH_COURSE))
            finish()
        }
    }
 
    override fun initView() {
        rv_free.layoutManager = GridLayoutManager(this,2)
        rv_free.adapter = freeAdapter
        rv_my.layoutManager = GridLayoutManager(this,2)
        rv_my.adapter = myAdapter
        myAdapter.isOrder = true
 
        refreshLayout.setOnRefreshListener {
            getData()
        }
        refreshLayout.setEnableLoadMore(false)
        getData()
    }
 
 
    private fun getData(){
        HttpManager.studyPage().request(this,success = {_,data->
            refreshLayout.finishRefresh(true)
            myList.clear()
            myList.addAll(data?.courseList?: arrayListOf())
            freeList.clear()
            freeList.addAll(data?.freeCourseList?: arrayListOf())
            myAdapter.notifyDataSetChanged()
            freeAdapter.notifyDataSetChanged()
            if (myList.isNullOrEmpty()){
                tv_empty.visible()
                tv_action.visible()
            }else{
                tv_empty.gone()
                tv_action.gone()
            }
            if (freeList.isNullOrEmpty()){
                tv_empty2.visible()
            }else{
                tv_empty2.gone()
            }
        }){_,_->
            refreshLayout.finishRefresh(false)
        }
    }
}