|
|
@@ -38,6 +38,7 @@ class MessgeListActivity : BaseMVVMActivity<ActivityMessgeListBinding, PushViewM
|
|
|
/**
|
|
|
* 消息列表
|
|
|
*/
|
|
|
+ private var page = 1
|
|
|
private var pushList = mutableListOf<PushMessageBean>()
|
|
|
private val pushListAdapter by lazy { PushListAdapter() }
|
|
|
|
|
|
@@ -49,13 +50,15 @@ class MessgeListActivity : BaseMVVMActivity<ActivityMessgeListBinding, PushViewM
|
|
|
)
|
|
|
)
|
|
|
binding {
|
|
|
+ refreshPush.setEnableLoadMore(true)
|
|
|
+ refreshPush.setEnableRefresh(true)
|
|
|
//消息类型
|
|
|
rvPushType.adapter = pushTypeAdapter
|
|
|
pushTypeAdapter.setData(pushTypeList)
|
|
|
pushTypeAdapter.onPushClickListener = { bean ->
|
|
|
msgType = bean.dictValue
|
|
|
pushListAdapter.showEmptyView = false
|
|
|
- getMeaageList()
|
|
|
+ getMeaageList(isRefresh = true, showLoading = true)
|
|
|
}
|
|
|
//消息列表
|
|
|
rvPush.adapter = pushListAdapter
|
|
|
@@ -107,12 +110,20 @@ class MessgeListActivity : BaseMVVMActivity<ActivityMessgeListBinding, PushViewM
|
|
|
|
|
|
@SuppressLint("ClickableViewAccessibility")
|
|
|
override fun initListener() {
|
|
|
- binding.layoutHead.setOnTouchListener(this@MessgeListActivity)
|
|
|
+ binding {
|
|
|
+ layoutHead.setOnTouchListener(this@MessgeListActivity)
|
|
|
+ refreshPush.setOnRefreshListener {
|
|
|
+ getMeaageList(isRefresh = true, showLoading = false)
|
|
|
+ }
|
|
|
+ refreshPush.setOnLoadMoreListener {
|
|
|
+ getMeaageList(isRefresh = false, showLoading = false)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
override fun initData() {
|
|
|
getPushList()
|
|
|
- getMeaageList()
|
|
|
+ getMeaageList(isRefresh = true, showLoading = true)
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -138,16 +149,26 @@ class MessgeListActivity : BaseMVVMActivity<ActivityMessgeListBinding, PushViewM
|
|
|
/**
|
|
|
* 获取推送消息列表
|
|
|
*/
|
|
|
- private fun getMeaageList() {
|
|
|
- viewModel.getPushList(msgType, fail = {
|
|
|
- it.toast()
|
|
|
- }, success = {
|
|
|
+ private fun getMeaageList(isRefresh: Boolean, showLoading: Boolean) {
|
|
|
+ if (isRefresh) {
|
|
|
+ page = 1
|
|
|
pushList.clear()
|
|
|
pushListAdapter.clearData()
|
|
|
- if (it.isNullOrEmpty().not()) {
|
|
|
- pushList.addAll(it!!)
|
|
|
+ binding.refreshPush.resetNoMoreData()
|
|
|
+ } else {
|
|
|
+ page++
|
|
|
+ }
|
|
|
+ viewModel.getPushList(msgType, page, showLoading, fail = {
|
|
|
+ endRefresh()
|
|
|
+ it.toast()
|
|
|
+ }, success = {
|
|
|
+ endRefresh()
|
|
|
+ if (it != null && it.records.isNullOrEmpty().not()) {
|
|
|
+ pushList.addAll(it.records)
|
|
|
+ } else {
|
|
|
+ binding.refreshPush.finishLoadMoreWithNoMoreData()
|
|
|
}
|
|
|
- pushListAdapter.showEmptyView = it.isNullOrEmpty()
|
|
|
+ pushListAdapter.showEmptyView = pushList.isEmpty()
|
|
|
pushListAdapter.setData(pushList)
|
|
|
})
|
|
|
}
|
|
|
@@ -211,4 +232,14 @@ class MessgeListActivity : BaseMVVMActivity<ActivityMessgeListBinding, PushViewM
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 结束刷新
|
|
|
+ */
|
|
|
+ private fun endRefresh() {
|
|
|
+ binding {
|
|
|
+ refreshPush.finishRefresh()
|
|
|
+ refreshPush.finishLoadMore()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|