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/MatchFragment.kt | 36 +++++++++++++++++++++++++++++++++++- 1 files changed, 35 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt index 8512d34..c5dbd5e 100644 --- a/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt +++ b/app/src/main/java/com/dollearn/student/ui/home/MatchFragment.kt @@ -15,8 +15,11 @@ import com.dollearn.student.R import com.dollearn.student.utils.AudioUtils import com.dollearn.student.utils.Const +import com.dollearn.student.utils.event.EmptyEvent import com.dollearn.student.utils.extention.clickDelay import kotlinx.android.synthetic.main.fragment_match.* +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe import org.jetbrains.anko.imageResource @@ -56,9 +59,16 @@ private val completedVoice = arrayListOf<String>() //已经选了的音频 飞到图片上了 + var right = true //true进入下一题为全对,false 一旦答错过就置为false,此时进入下一题,本题算做错误 + var isAutoPlaying = false + + + override fun onFirstVisibleToUser() { player.setOnAudioStatusUpdateListener(this) player.stopPlayMusic() + EventBus.getDefault().register(this) + handler = object : Handler(Looper.getMainLooper()){ override fun handleMessage(msg: Message) { super.handleMessage(msg) @@ -105,7 +115,6 @@ if (!playing){ voiceIndex = index handler?.sendEmptyMessage(PLAY_VOICE) - motion.transitionToEnd() } } } @@ -182,6 +191,7 @@ motion.transitionToEnd() handler?.sendEmptyMessage(PLAY_RIGHT) }else{ + right = false result_1.imageResource = R.mipmap.zhifushibai handler?.sendEmptyMessage(PLAY_ERROR) } @@ -467,11 +477,22 @@ }) } + @Subscribe + fun onEvent(e: EmptyEvent){ + if (e.code == Const.EventCode.RECOVERD){ + if (act.fragments[act.vp.currentItem] == this){ //自动播放 + isAutoPlaying = true + cl_voice_1.callOnClick() + } + } + } + /** * 回到上一题,恢复状态 */ fun recover(){ Log.e(TAG,"回到上一题,恢复答题前的状态") + right = true motion.progress = 0f data!!.subjectList[group].forEach { it.completed = false @@ -486,6 +507,10 @@ cl_voice_end_2.gone() cl_voice_end_3.gone() cl_voice_end_4.gone() + if (act.fragments[act.vp.currentItem] == this&&act.recoverd) { //自动播放 + isAutoPlaying = true + cl_voice_1.callOnClick() + } } companion object{ @@ -571,6 +596,8 @@ if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){ voiceIndex = -1 nowVoiceView = null + isAutoPlaying = true + cl_voice_2.callOnClick() } } 1->{ @@ -580,6 +607,8 @@ if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){ voiceIndex = -1 nowVoiceView = null + isAutoPlaying = true + cl_voice_3.callOnClick() } } 2->{ @@ -589,6 +618,9 @@ if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){ voiceIndex = -1 nowVoiceView = null + + isAutoPlaying = true + cl_voice_4.callOnClick() } } 3->{ @@ -648,5 +680,7 @@ override fun onDestroy() { super.onDestroy() handler?.removeCallbacksAndMessages(null) + EventBus.getDefault().unregister(this) + } } \ No newline at end of file -- Gitblit v1.7.1