lmw
4 天以前 855a7e18a795f0db2453a19e3e8f26ba2ff553b4
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
@@ -57,11 +60,15 @@
    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)
@@ -108,7 +115,6 @@
                if (!playing){
                    voiceIndex = index
                    handler?.sendEmptyMessage(PLAY_VOICE)
                    motion.transitionToEnd()
                }
            }
        }
@@ -471,6 +477,16 @@
        })
    }
    @Subscribe
    fun onEvent(e: EmptyEvent){
        if (e.code == Const.EventCode.RECOVERD){
            if (act.fragments[act.vp.currentItem] == this){ //自动播放
                isAutoPlaying = true
                cl_voice_1.callOnClick()
            }
        }
    }
    /**
     * 回到上一题,恢复状态
     */
@@ -491,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{
@@ -573,37 +593,24 @@
                iv1_1.visible()
                iv2_1.visible()
                iv_playing_1.gone()
                if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                    voiceIndex = -1
                    nowVoiceView = null
                }
            }
            1->{
                iv1_2.visible()
                iv2_2.visible()
                iv_playing_2.gone()
                if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                    voiceIndex = -1
                    nowVoiceView = null
                }
            }
            2->{
                iv1_3.visible()
                iv2_3.visible()
                iv_playing_3.gone()
                if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                    voiceIndex = -1
                    nowVoiceView = null
                }
            }
            3->{
                iv1_4.visible()
                iv2_4.visible()
                iv_playing_4.gone()
                if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                    voiceIndex = -1
                    nowVoiceView = null
                }
            }
            4->{
@@ -631,16 +638,50 @@
                voiceIndex = -1
            }
        }
        if (data!!.subjectList[group].filter { it.completed }.size == 4){ //全部答对
            handler?.sendEmptyMessage(TO_NEXT)
        }
        if (errorPlaying)
            errorPlaying = false
        if (rightPlaying){
            rightPlaying = false
            nowVoiceView?.callOnClick()
//            nowVoiceView?.callOnClick() //客户需求:回答正确后不再重播语音 直接下一题
            data!!.subjectList[group][imgPosition].completed = true
            when(voiceIndex){
                0->{
                    if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                        voiceIndex = -1
                        nowVoiceView = null
                        isAutoPlaying = true
                        cl_voice_2.callOnClick()
                    }
                }
                1->{
                    if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                        voiceIndex = -1
                        nowVoiceView = null
                        isAutoPlaying = true
                        cl_voice_3.callOnClick()
                    }
                }
                2->{
                    if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                        voiceIndex = -1
                        nowVoiceView = null
                        isAutoPlaying = true
                        cl_voice_4.callOnClick()
                    }
                }
                3->{
                    if (nowVoiceView!=null && data!!.subjectList[group][imgPosition].completed){
                        voiceIndex = -1
                        nowVoiceView = null
                    }
                }
            }
            if (data!!.subjectList[group].filter { it.completed }.size == 4){ //全部答对
                handler?.sendEmptyMessage(TO_NEXT)
            }
        }
    }
@@ -653,5 +694,7 @@
    override fun onDestroy() {
        super.onDestroy()
        handler?.removeCallbacksAndMessages(null)
        EventBus.getDefault().unregister(this)
    }
}