package com.dollearn.student.ui.course
|
|
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.JoinedCourse
|
import com.dollearn.student.network.request
|
import com.dollearn.student.ui.TransparentStatusBarActivity
|
import com.dollearn.student.ui.course.adapter.JoinedCourseAdapter
|
import com.dollearn.student.ui.home.adapter.FilterAdapter
|
import com.dollearn.student.utils.extention.clickDelay
|
import kotlinx.android.synthetic.main.activity_course.*
|
import org.jetbrains.anko.startActivityForResult
|
|
class MyCourseActivity : 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<JoinedCourse>()
|
private val adapter = JoinedCourseAdapter(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
|
}
|
|
}
|
|
override fun initView() {
|
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
|
//获取筛选项数据
|
getType()
|
}
|
|
private fun getData(){
|
HttpManager.registeredCourses(type, search).request(this,success = { _, data->
|
refreshLayout.finishRefresh()
|
datas.clear()
|
datas.addAll(data?: arrayListOf())
|
adapter.notifyDataSetChanged()
|
}){_,_->
|
refreshLayout.finishRefresh(false)
|
}
|
}
|
|
private fun getType(){
|
HttpManager.getCourseAppUserDetails().request(this){ _, data->
|
typeList.addAll(data?: arrayListOf())
|
filters.addAll(typeList.map { it.name })
|
filterAdapter.notifyDataSetChanged()
|
}
|
}
|
|
private fun closeFilter(){
|
bg_filter.gone()
|
rv_filter.gone()
|
}
|
}
|