From aa512ff5fc428fbee046d6bc0761c3675023769e Mon Sep 17 00:00:00 2001 From: 罗明文 <125975490@qq.com> Date: 星期三, 21 五月 2025 15:49:32 +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