|
@@ -1,6 +1,7 @@
|
|
|
package com.nova.brain.glass.ui
|
|
package com.nova.brain.glass.ui
|
|
|
|
|
|
|
|
-import android.content.Intent
|
|
|
|
|
|
|
+import android.os.Bundle
|
|
|
|
|
+import androidx.recyclerview.widget.LinearLayoutManager
|
|
|
import com.nova.brain.glass.R
|
|
import com.nova.brain.glass.R
|
|
|
import com.nova.brain.glass.databinding.ActivityTaskListBinding
|
|
import com.nova.brain.glass.databinding.ActivityTaskListBinding
|
|
|
import com.nova.brain.glass.helper.OfflineCmdListener
|
|
import com.nova.brain.glass.helper.OfflineCmdListener
|
|
@@ -11,8 +12,6 @@ import com.xuqm.base.adapter.BasePagedAdapter
|
|
|
import com.xuqm.base.adapter.CommonPagedAdapter
|
|
import com.xuqm.base.adapter.CommonPagedAdapter
|
|
|
import com.xuqm.base.adapter.ViewHolder
|
|
import com.xuqm.base.adapter.ViewHolder
|
|
|
import com.xuqm.base.common.ToolsHelper
|
|
import com.xuqm.base.common.ToolsHelper
|
|
|
-import androidx.recyclerview.widget.LinearLayoutManager
|
|
|
|
|
-import com.xuqm.base.common.LogHelper
|
|
|
|
|
import com.xuqm.base.ui.BaseListFormLayoutActivity
|
|
import com.xuqm.base.ui.BaseListFormLayoutActivity
|
|
|
|
|
|
|
|
class TaskListActivity :
|
|
class TaskListActivity :
|
|
@@ -20,41 +19,67 @@ class TaskListActivity :
|
|
|
override fun getLayoutId(): Int = R.layout.activity_task_list
|
|
override fun getLayoutId(): Int = R.layout.activity_task_list
|
|
|
override fun fullscreen(): Boolean = true
|
|
override fun fullscreen(): Boolean = true
|
|
|
|
|
|
|
|
- override fun initData() {
|
|
|
|
|
- super.initData()
|
|
|
|
|
- OfflineCmdServiceHelper.setOnLineListener(object : OfflineCmdListener {
|
|
|
|
|
- override fun onOfflineCmd(cmd: String) {
|
|
|
|
|
- when (cmd) {
|
|
|
|
|
- "下一页", "翻页", "查看下一页", "继续翻页", "继续下一页" -> {
|
|
|
|
|
- val layoutManager = binding.baseRecyclerView.layoutManager as? LinearLayoutManager
|
|
|
|
|
- if (layoutManager != null) {
|
|
|
|
|
- val lastVisible = layoutManager.findLastVisibleItemPosition()
|
|
|
|
|
- val nextPosition = lastVisible + 1
|
|
|
|
|
- if (nextPosition < adapter.itemCount) {
|
|
|
|
|
- layoutManager.scrollToPositionWithOffset(nextPosition, 0)
|
|
|
|
|
- } else {
|
|
|
|
|
- ToolsHelper.showMessage("没有下一页了")
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- "上一页", "查看上一页", "继续上一页" -> {
|
|
|
|
|
- val layoutManager = binding.baseRecyclerView.layoutManager as? LinearLayoutManager
|
|
|
|
|
- if (layoutManager != null) {
|
|
|
|
|
- val firstVisible = layoutManager.findFirstVisibleItemPosition()
|
|
|
|
|
- if (firstVisible > 0) {
|
|
|
|
|
- val lastVisible = layoutManager.findLastVisibleItemPosition()
|
|
|
|
|
- val pageSize = (lastVisible - firstVisible).coerceAtLeast(1)
|
|
|
|
|
- val previousPosition = (firstVisible - pageSize).coerceAtLeast(0)
|
|
|
|
|
- layoutManager.scrollToPositionWithOffset(previousPosition, 0)
|
|
|
|
|
- } else {
|
|
|
|
|
- ToolsHelper.showMessage("没有上一页了")
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ override fun initView(savedInstanceState: Bundle?) {
|
|
|
|
|
+ super.initView(savedInstanceState)
|
|
|
|
|
+ binding.xia.setOnClickListener {
|
|
|
|
|
+ toNext()
|
|
|
|
|
+ }
|
|
|
|
|
+ binding.shang.setOnClickListener {
|
|
|
|
|
+ toPre()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private val offlineCmdListener = object : OfflineCmdListener {
|
|
|
|
|
+ override fun onOfflineCmd(cmd: String) {
|
|
|
|
|
+ when (cmd) {
|
|
|
|
|
+ "下一页", "翻页", "查看下一页", "继续翻页", "继续下一页" -> {
|
|
|
|
|
+ toNext()
|
|
|
}
|
|
}
|
|
|
|
|
+ "上一页", "查看上一页", "继续上一页" -> {
|
|
|
|
|
+ toPre()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private fun toPre() {
|
|
|
|
|
+ val layoutManager = binding.baseRecyclerView.layoutManager as? LinearLayoutManager
|
|
|
|
|
+ if (layoutManager != null) {
|
|
|
|
|
+ val firstVisible = layoutManager.findFirstVisibleItemPosition()
|
|
|
|
|
+ if (firstVisible > 0) {
|
|
|
|
|
+ val lastVisible = layoutManager.findLastVisibleItemPosition()
|
|
|
|
|
+ val pageSize = (lastVisible - firstVisible).coerceAtLeast(1)
|
|
|
|
|
+ val previousPosition = (firstVisible - pageSize).coerceAtLeast(0)
|
|
|
|
|
+ layoutManager.scrollToPositionWithOffset(previousPosition, 0)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ToolsHelper.showMessage("没有上一页了")
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ private fun toNext() {
|
|
|
|
|
+ val layoutManager = binding.baseRecyclerView.layoutManager as? LinearLayoutManager
|
|
|
|
|
+ if (layoutManager != null) {
|
|
|
|
|
+ val lastVisible = layoutManager.findLastVisibleItemPosition()
|
|
|
|
|
+ if (lastVisible < adapter.itemCount) {
|
|
|
|
|
+ layoutManager.scrollToPositionWithOffset(lastVisible, 0)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ToolsHelper.showMessage("没有下一页了")
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ override fun onResume() {
|
|
|
|
|
+ super.onResume()
|
|
|
|
|
+ OfflineCmdServiceHelper.addOnLineListener(offlineCmdListener)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onPause() {
|
|
|
|
|
+ super.onPause()
|
|
|
|
|
+ OfflineCmdServiceHelper.removeOnLineListener(offlineCmdListener)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private val adapter = object : CommonPagedAdapter<TaskItem>(R.layout.item_task_list) {
|
|
private val adapter = object : CommonPagedAdapter<TaskItem>(R.layout.item_task_list) {
|
|
|
override fun convert(holder: ViewHolder, item: TaskItem, position: Int) {
|
|
override fun convert(holder: ViewHolder, item: TaskItem, position: Int) {
|
|
|
holder
|
|
holder
|