From 7bed3f6090b14391d7dad4ca4bd632fb28d847c0 Mon Sep 17 00:00:00 2001
From: 罗明文 <125975490@qq.com>
Date: 星期三, 21 五月 2025 15:34:19 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt
index 87d6d78..9eb37c4 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/MatchActivity.kt
@@ -48,6 +48,10 @@
     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()
@@ -62,8 +66,8 @@
                         indexList.forEach { it.status = 1 }
                         indexAdapter.notifyDataSetChanged()
                         data?.accuracy = 0.0
-                        (fragments[0] as MatchFragment).recover()
                         view_pager.setCurrentItem(0,false)
+                        (fragments[0] as MatchFragment).recover()
                     }
                 }
 
@@ -80,8 +84,8 @@
         indexAdapter.setOnItemClickListener { view, position ->
             val sortBean = indexList[position]
             if (position!=view_pager.currentItem&&(sortBean.status!=1||position == indexList.indexOf(indexList.first { it.status == 1 }))){
-                (fragments[position] as MatchFragment).recover()
                 view_pager.setCurrentItem(position,false)
+                (fragments[position] as MatchFragment).recover()
             }
         }
     }
@@ -100,8 +104,8 @@
             ResultActivity.startResult(this,day,week,season,5,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
             finish()
         }else{
-            (fragments[view_pager.currentItem+1] as MatchFragment).recover()
             view_pager.setCurrentItem(view_pager.currentItem+1,true)
+            (fragments[view_pager.currentItem+1] as MatchFragment).recover()
             tv_last.visible()
             indexAdapter.notifyDataSetChanged()
         }
@@ -169,6 +173,9 @@
                 tv_last.visible()
             totalCount = data?.answerNumber?:0
             rightCount = data?.correctNumber?:0
+
+            EventBus.getDefault().post(EmptyEvent(Const.EventCode.RECOVERD))
+            recoverd = true
         }
     }
 

--
Gitblit v1.7.1