|
@@ -3,6 +3,7 @@ package com.yingyang.workbenches.freetraining
|
|
|
import androidx.recyclerview.widget.GridLayoutManager
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
|
|
import com.alibaba.android.arouter.facade.annotation.Route
|
|
|
+import com.scwang.smartrefresh.layout.api.RefreshLayout
|
|
|
import com.yingyang.workbenches.adapter.FreeTrainAdapter
|
|
|
import com.yingyang.workbenches.adapter.FreeTrainTypeAdapter
|
|
|
import com.yingyang.workbenches.databinding.ActivityFreeTrainBinding
|
|
@@ -35,10 +36,14 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
|
|
|
private var freeTrainList = mutableListOf<Record>()
|
|
|
private val freeTrainListAdapter by lazy { FreeTrainAdapter() }
|
|
|
|
|
|
+ private var page = 1
|
|
|
+
|
|
|
override fun initViews() {
|
|
|
freeTypeList.clear()
|
|
|
freeTypeList.add(TrainTypeBean(dictLabel = "全部训练", dictValue = "", dictType = "game_type"))
|
|
|
binding {
|
|
|
+ freeTrainSwipe.setEnableLoadMore(true)
|
|
|
+ freeTrainSwipe.setEnableRefresh(true)
|
|
|
//自由训练类型
|
|
|
rvTrainType.layoutManager = LinearLayoutManager(this@FreeTrainActivity)
|
|
|
rvTrainType.adapter = freeTrainTypeAdapter
|
|
@@ -51,7 +56,7 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
|
|
|
rvTrain.show(true)
|
|
|
emptyLayout.show(false)
|
|
|
}
|
|
|
- loadData()
|
|
|
+ loadData(true)
|
|
|
}
|
|
|
//自由训练游戏列表
|
|
|
rvTrain.layoutManager = GridLayoutManager(this@FreeTrainActivity, 4)
|
|
@@ -71,6 +76,14 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
|
|
|
layoutHead.setOnSingleClickListener {
|
|
|
JumpUtil.jumpActivity(RouterUrlCommon.home, mContext)
|
|
|
}
|
|
|
+
|
|
|
+ freeTrainSwipe.setOnRefreshListener {
|
|
|
+ loadData(true)
|
|
|
+ }
|
|
|
+
|
|
|
+ freeTrainSwipe.setOnLoadMoreListener {
|
|
|
+ loadData(false)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -81,7 +94,7 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
|
|
|
override fun onResume() {
|
|
|
super.onResume()
|
|
|
getSelectByDictType()
|
|
|
- loadData()
|
|
|
+ loadData(true)
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -103,20 +116,42 @@ class FreeTrainActivity : BaseMVVMActivity<ActivityFreeTrainBinding, FreeTrainVi
|
|
|
/**
|
|
|
* 加载列表
|
|
|
*/
|
|
|
- private fun loadData() {
|
|
|
- freeTrainList.clear()
|
|
|
- freeTrainListAdapter.clearData()
|
|
|
- viewModel.getFreeTrainList(type, fail = {
|
|
|
+ private fun loadData(isRefresh: Boolean) {
|
|
|
+ if (isRefresh) {
|
|
|
+ page = 1
|
|
|
+ binding.freeTrainSwipe.resetNoMoreData()
|
|
|
+ freeTrainList.clear()
|
|
|
+ freeTrainListAdapter.clearData()
|
|
|
+ } else {
|
|
|
+ page++
|
|
|
+ }
|
|
|
+ viewModel.getFreeTrainList(type, page, fail = {
|
|
|
+ endRefresh()
|
|
|
it.toast()
|
|
|
}, success = {
|
|
|
- freeTrainList.clear()
|
|
|
- if (it.isNullOrEmpty().not()) {
|
|
|
- freeTrainList.addAll(it)
|
|
|
+ endRefresh()
|
|
|
+ if (it != null) {
|
|
|
+ if (it.records.isNullOrEmpty().not()) {
|
|
|
+ freeTrainList.addAll(it.records)
|
|
|
+ }
|
|
|
+ if (page >= it.pages) {
|
|
|
+ binding.freeTrainSwipe.finishLoadMoreWithNoMoreData()
|
|
|
+ }
|
|
|
+ binding.rvTrain.show(freeTrainList.isNullOrEmpty().not())
|
|
|
+ binding.emptyLayout.show(freeTrainList.isNullOrEmpty())
|
|
|
+ freeTrainListAdapter.setData(freeTrainList)
|
|
|
}
|
|
|
- binding.rvTrain.show(freeTrainList.isNullOrEmpty().not())
|
|
|
- binding.emptyLayout.show(freeTrainList.isNullOrEmpty())
|
|
|
- freeTrainListAdapter.setData(freeTrainList)
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 结束刷新
|
|
|
+ */
|
|
|
+ private fun endRefresh() {
|
|
|
+ binding {
|
|
|
+ freeTrainSwipe.finishLoadMore()
|
|
|
+ freeTrainSwipe.finishRefresh()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|