package com.sinata.xqmuse.ui.course
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
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.FilterAdapter
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import com.sinata.xqmuse.utils.extention.clickDelay
|
import kotlinx.android.synthetic.main.activity_my_course.*
|
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.Subscribe
|
|
class MyCourseActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_my_course
|
|
private var page = 1
|
var search:String? = null //搜索
|
private val filterList = arrayListOf<Filter>()
|
private val filterAdapter = FilterAdapter(filterList,true)
|
|
|
override fun initClick() {
|
tv_search.clickDelay {
|
val s = et_search.text.toString()
|
search = if (s.isNullOrEmpty()) null else s
|
hideInputMethod()
|
refreshLayout.resetNoMoreData()
|
page = 1
|
getData()
|
}
|
|
|
}
|
|
override fun initView() {
|
EventBus.getDefault().register(this)
|
rv_filter.layoutManager = LinearLayoutManager(this)
|
rv_filter.adapter = filterAdapter
|
rv_course.layoutManager = LinearLayoutManager(this)
|
|
refreshLayout.setOnRefreshListener {
|
val s = et_search.text.toString()
|
search = if (s.isNullOrEmpty()) null else s
|
page = 1
|
getData()
|
}
|
refreshLayout.setOnLoadMoreListener {
|
page++
|
getData()
|
}
|
getFilter()
|
page = 1
|
getData()
|
|
}
|
|
private fun getFilter() {
|
HttpManager.getList().request(this){_, data->
|
filterList.clear()
|
filterList.add(Filter("类型:",data?.fitnessType?: arrayListOf()))
|
filterList.add(Filter("部位:",data?.fitnessPosition?: arrayListOf()))
|
filterList.add(Filter("难度:",data?.difficulty?: arrayListOf()))
|
filterList.add(Filter("时长:",data?.time?: arrayListOf()))
|
filterAdapter.notifyDataSetChanged()
|
}
|
}
|
|
private fun getData(){
|
val diff = filterList.filter { it.name == "难度:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.id.toString() }
|
val position = filterList.filter { it.name == "部位:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.name }
|
val times = filterList.filter { it.name == "时长:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.id.toString() }
|
val types = filterList.filter { it.name == "类型:" }.firstOrNull()?.list?.filter { it.checked }?.joinToString (","){ it.id.toString() }
|
|
}
|
|
@Subscribe
|
fun refresh(e: EmptyEvent){
|
if (e.code == Const.EventCode.REFRESH_MY_COURSE){
|
refreshLayout.resetNoMoreData()
|
page = 1
|
getData()
|
}
|
}
|
|
override fun onDestroy() {
|
super.onDestroy()
|
EventBus.getDefault().unregister(this)
|
}
|
|
}
|