From 9904e5f900ba751c1fe719cdf889f00e9f1418e8 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 21 五月 2025 14:14:04 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt
index 3d5f1f7..9789583 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/ListenFragment.kt
@@ -53,6 +53,8 @@
 
     private val resultViewList by lazy { arrayListOf(result_1,result_2,result_3,result_4) }
 
+    var right = true //true进入下一题为全对,false 一旦答错过就置为false,此时进入下一题,本题算做错误
+
     override fun onFirstVisibleToUser() {
         player.setOnAudioStatusUpdateListener(this)
         player.stopPlayMusic()
@@ -106,7 +108,7 @@
             }
         }
 
-        handler?.sendEmptyMessageDelayed(PLAY_VOICE,1500) //进入题目2秒后播放,这里写1.5秒 预算进网络语音加载时间
+        handler?.sendEmptyMessageDelayed(PLAY_VOICE,200) //2025.4.8 立即播放
 
         initClick()
     }
@@ -129,7 +131,8 @@
         Log.e(TAG,"回到上一题,恢复答题前的状态")
         hasListen = false
         hasRight = false
-        handler?.sendEmptyMessageDelayed(PLAY_VOICE,1500) //进入题目2秒后播放,这里写1.5秒 预算进网络语音加载时间
+        right = true
+        handler?.sendEmptyMessageDelayed(PLAY_VOICE,200) //改为立即播放
         cl_1.progress = 0f
         cl_2.progress = 0f
         cl_3.progress = 0f
@@ -158,7 +161,7 @@
     private fun setResultAnimation(v:MotionLayout,index: Int){
         v.clickDelay {
             if (!hasListen) {
-                myToast("请先听题")
+//                myToast("请先听题")
                 return@clickDelay
             }
             if (playing)
@@ -169,6 +172,7 @@
                 v.transitionToEnd()
                 if (randomList[index].correct != correctVoice){ //答案不对,结束后消失
                     hasListen = false
+                    right = false
                     handler?.sendEmptyMessage(PLAY_ERROR)
                     v.setTransitionListener(object :MotionLayout.TransitionListener{
                         override fun onTransitionStarted(p0: MotionLayout?, p1: Int, p2: Int) {
@@ -209,14 +213,16 @@
         iv_playing.gone()
         if (hasRight&&!playing){ //选对答案后的播放结束3秒后进入下一图
             Log.e(TAG,"选对答案后的播放结束3秒后进入下一图")
-            handler?.sendEmptyMessageDelayed(TO_NEXT,3000)
+            handler?.sendEmptyMessageDelayed(TO_NEXT,500) //万俊杰:缩短为0.5秒
         }
         if (rightPlaying){
             rightPlaying = false
             hasRight = true
             handler?.sendEmptyMessage(PLAY_VOICE)
-        }else if (errorPlaying)
+        }else if (errorPlaying){
             errorPlaying = false
+            cl_voice.callOnClick()
+        }
         else if (!hasRight)
             hasListen = true
     }

--
Gitblit v1.7.1