package com.sinata.xqmuse.ui.course
|
|
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
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.CourseBean
|
import com.sinata.xqmuse.network.entity.CourseType
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.ui.course.adapter.CourseTypeGridAdapter
|
import com.sinata.xqmuse.ui.course.adapter.TypeAdapter
|
import kotlinx.android.synthetic.main.activity_type_course.*
|
import org.jetbrains.anko.startActivity
|
|
class TypeCourserActivity:TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_type_course
|
|
private val types by lazy { intent.getParcelableArrayListExtra<CourseType>("types")?: arrayListOf() }
|
private val index by lazy { intent.getIntExtra("index",0) }
|
private val typeAdapter by lazy { TypeAdapter(types) }
|
private var page = 1
|
private val list = arrayListOf<CourseBean>()
|
private val adapter = CourseTypeGridAdapter(list)
|
|
override fun initClick() {
|
typeAdapter.setOnItemClickListener { view, position ->
|
typeAdapter.index = position
|
typeAdapter.notifyDataSetChanged()
|
showDialog()
|
page = 1
|
getData()
|
}
|
|
adapter.setOnItemClickListener { view, position ->
|
showDialog()
|
HttpManager.getPayCourseInfoById(list[position].id).request(this,success = {_,data->
|
dismissDialog()
|
data?.goDetail(this)
|
}){_,_->
|
dismissDialog()
|
}
|
}
|
}
|
|
override fun initView() {
|
title = "全部课程"
|
rv_type.layoutManager = LinearLayoutManager(this)
|
typeAdapter.index = index
|
rv_type.adapter = typeAdapter
|
rv_list.layoutManager = GridLayoutManager(this,2)
|
rv_list.adapter = adapter
|
refreshLayout.setOnRefreshListener {
|
page = 1
|
getData()
|
}
|
refreshLayout.setOnLoadMoreListener {
|
page++
|
getData()
|
}
|
getData()
|
}
|
|
private fun getData(){
|
HttpManager.queryCourseList(page,types[typeAdapter.index].id).request(this,success = { _, data->
|
if (page == 1)
|
list.clear()
|
list.addAll(data?.list?: arrayListOf())
|
adapter.notifyDataSetChanged()
|
tv_empty.gone()
|
if (list.isEmpty()){
|
refreshLayout.finishRefreshWithNoMoreData()
|
tv_empty.visible()
|
} else if (data?.list.isNullOrEmpty())
|
refreshLayout.finishLoadMoreWithNoMoreData()
|
else if (page == 1)
|
refreshLayout.finishRefresh()
|
else
|
refreshLayout.finishLoadMore()
|
}){_,_->
|
if (page == 1)
|
refreshLayout.finishRefresh(false)
|
else
|
refreshLayout.finishLoadMore(false)
|
}
|
}
|
|
}
|