package com.dollearn.student.ui.mine
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import com.dollearn.student.R
|
import com.dollearn.student.dialog.ChooseRecordTimeDialog
|
import com.dollearn.student.network.HttpManager
|
import com.dollearn.student.network.entity.ScoreRecord
|
import com.dollearn.student.network.request
|
import com.dollearn.student.ui.TransparentStatusBarActivity
|
import com.dollearn.student.ui.mine.adapter.ScoreRecordAdapter
|
import com.dollearn.student.utils.extention.clickDelay
|
import com.dollearn.student.utils.interfaces.StringCallback
|
import kotlinx.android.synthetic.main.activity_score_record.*
|
|
class ScoreRecordActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_score_record
|
|
private val list = arrayListOf<ScoreRecord>()
|
private val adapter = ScoreRecordAdapter(list)
|
private var page = 1
|
private var time:String? = null
|
|
override fun initClick() {
|
iv_reset.clickDelay {
|
tv_time.text = ""
|
time = null
|
refreshLayout.autoRefresh()
|
}
|
|
tv_time.setOnClickListener {
|
val chooseRecordTimeDialog = ChooseRecordTimeDialog()
|
chooseRecordTimeDialog.callback = object :StringCallback{
|
override fun onResult(rst: String) {
|
tv_time.text = rst
|
time = rst
|
refreshLayout.autoRefresh()
|
}
|
}
|
chooseRecordTimeDialog.show(supportFragmentManager,"time")
|
}
|
}
|
|
override fun initView() {
|
rv_list.layoutManager = LinearLayoutManager(this)
|
rv_list.adapter = adapter
|
refreshLayout.setOnRefreshListener {
|
page = 1
|
getData()
|
}
|
refreshLayout.setOnLoadMoreListener {
|
page++
|
getData()
|
}
|
refreshLayout.autoRefresh()
|
getScore()
|
}
|
|
private fun getData(){
|
HttpManager.integralDetail(page, time).request(this,success = {_,data->
|
if (page == 1)
|
list.clear()
|
list.addAll(data ?.records?: arrayListOf())
|
adapter.notifyDataSetChanged()
|
if (list.isEmpty())
|
refreshLayout.finishRefreshWithNoMoreData()
|
else if (data ?.records.isNullOrEmpty())
|
refreshLayout.finishLoadMoreWithNoMoreData()
|
else if (page == 1)
|
refreshLayout.finishRefresh()
|
else
|
refreshLayout.finishLoadMore()
|
}){_,_->
|
if (page == 1)
|
refreshLayout.finishRefresh(false)
|
else
|
refreshLayout.finishLoadMore(false)
|
page--
|
}
|
}
|
|
private fun getScore() {
|
HttpManager.getIntegralStudy().request(this){_,data->
|
tv_balance.text = (data?:0).toString()
|
}
|
}
|
}
|