From 442124baa483f8d1c4aaca7ff81e15dd3f122363 Mon Sep 17 00:00:00 2001
From: 罗明文 <125975490@qq.com>
Date: 星期四, 22 五月 2025 13:14:36 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt |   39 ++++++++++++++++++++++-----------------
 1 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt
index fec15a7..74de738 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/IncludeActivity.kt
@@ -49,6 +49,9 @@
     val indexList = arrayListOf<SortBean>()
     private val indexAdapter = IndexAdapter(indexList)
 
+    val vp by lazy { view_pager }
+    var recoverd = false  //true已经恢复了进度,后续语音可以自动播放
+
     override fun initClick() {
         tv_last.setOnClickListener {
             val tipDialog = TipDialog()
@@ -103,7 +106,7 @@
             finish()
         }else{
             view_pager.setCurrentItem(view_pager.currentItem+1,true)
-            (fragments[view_pager.currentItem+1] as IncludeFragment).recover()
+            (fragments[view_pager.currentItem] as IncludeFragment).recover()
             tv_last.visible()
             indexAdapter.notifyDataSetChanged()
         }
@@ -120,22 +123,6 @@
             subjectList.forEachIndexed { index, subject ->
                 fragments.add(IncludeFragment.getInstance(index))
             }
-        }
-        recover()
-        handler= object :Handler(Looper.myLooper()!!){
-            override fun handleMessage(msg: Message) {
-                super.handleMessage(msg)
-                if (msg.what == 0){
-                    time++
-                    handler?.sendEmptyMessageDelayed(0,1000L)
-                }
-            }
-        }
-        handler?.sendEmptyMessageDelayed(0,1000L)
-    }
-
-    private fun recover(){
-        HttpManager.teamSchedule(day,week,3).request(this){_,data->
             view_pager.adapter = @SuppressLint("WrongConstant")
             object : FragmentPagerAdapter(supportFragmentManager,0) {
                 override fun getItem(p0: Int): Fragment {
@@ -166,11 +153,29 @@
                 override fun onPageScrollStateChanged(state: Int) {
                 }
             })
+        }
+        recover()
+        handler= object :Handler(Looper.myLooper()!!){
+            override fun handleMessage(msg: Message) {
+                super.handleMessage(msg)
+                if (msg.what == 0){
+                    time++
+                    handler?.sendEmptyMessageDelayed(0,1000L)
+                }
+            }
+        }
+        handler?.sendEmptyMessageDelayed(0,1000L)
+    }
+
+    private fun recover(){
+        HttpManager.teamSchedule(day,week,3).request(this){_,data->
             view_pager.setCurrentItem((data?.schedule?:1)-1,false)
             if (view_pager.currentItem != 0)
                 tv_last.visible()
             totalCount = data?.answerNumber?:0
             rightCount = data?.correctNumber?:0
+            EventBus.getDefault().post(EmptyEvent(Const.EventCode.RECOVERD))
+            recoverd = true
         }
     }
 

--
Gitblit v1.7.1