Pārlūkot izejas kodu

1.添加获取mmse试题库UI跳转

王鹏鹏 2 gadi atpakaļ
vecāks
revīzija
47d4a1c9a2

+ 2 - 1
mmse/src/main/java/com/yingyangfly/mmse/fragment/MultipleChoiceFragment.kt

@@ -44,8 +44,9 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>() {
         binding {
             btnPrevious.setOnSingleClickListener {
                 if (questionId == 26) {
+                    val bundle = bundleOf("questionId" to questionId)
                     val controller = Navigation.findNavController(it)
-                    controller.navigate(R.id.action_multipleChoiceFragment_to_recordActionFragment)
+                    controller.navigate(R.id.action_multipleChoiceFragment_to_recordActionFragment, bundle)
                 } else {
                     val bundle = bundleOf("questionId" to 11)
                     val controller = Navigation.findNavController(it)

+ 5 - 2
mmse/src/main/java/com/yingyangfly/mmse/fragment/ReadFragment.kt

@@ -2,6 +2,7 @@ package com.yingyangfly.mmse.fragment
 
 import android.os.Bundle
 import android.text.TextUtils
+import androidx.core.os.bundleOf
 import androidx.navigation.Navigation
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.FragmentReadBinding
@@ -39,8 +40,9 @@ class ReadFragment : BaseFragment<FragmentReadBinding>() {
             }
 
             btnPrevious.setOnSingleClickListener {
+                val bundle = bundleOf("questionId" to 24)
                 val controller = Navigation.findNavController(it)
-                controller.navigate(R.id.action_readFragment_to_judgmentRecordFragment)
+                controller.navigate(R.id.action_readFragment_to_judgmentRecordFragment, bundle)
             }
 
             btnNext.setOnSingleClickListener {
@@ -48,8 +50,9 @@ class ReadFragment : BaseFragment<FragmentReadBinding>() {
                     val str = "请判断受试者的回答是否正确"
                     str.toast()
                 } else {
+                    val bundle = bundleOf("questionId" to 26)
                     val controller = Navigation.findNavController(it)
-                    controller.navigate(R.id.action_readFragment_to_recordActionFragment)
+                    controller.navigate(R.id.action_readFragment_to_recordActionFragment, bundle)
                 }
             }
 

+ 53 - 6
mmse/src/main/java/com/yingyangfly/mmse/fragment/RecordActionFragment.kt

@@ -8,6 +8,7 @@ import com.yingyang.mmse.databinding.FragmentRecordActionBinding
 import com.yingyangfly.baselib.base.BaseFragment
 import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.voice.PlayVoice
 
 /**
  * 听录音做动作
@@ -17,29 +18,43 @@ class RecordActionFragment : BaseFragment<FragmentRecordActionBinding>() {
     /**
      * 问题id
      */
-    var questionId = 0
-    var question: QuestionsBean? = null
+    private var questionId = 0
+    private var question: QuestionsBean? = null
+    private var firstWord = ""
+    private var secondWord = ""
+    private var thirdWord = ""
+
+    private var playVoice: PlayVoice? = null
 
     override fun onCreate(savedInstanceState: Bundle?) {
-        questionId = arguments?.getInt("questionId") ?: 25
+        questionId = arguments?.getInt("questionId") ?: 26
         super.onCreate(savedInstanceState)
     }
 
     override fun initViews() {
-
+        playVoice = PlayVoice()
+        playVoice?.setContext(mContext)
     }
 
     override fun initListener() {
         binding {
             btnPrevious.setOnSingleClickListener {
+                val bundle = bundleOf("questionId" to 25)
                 val controller = Navigation.findNavController(it)
-                controller.navigate(R.id.action_recordActionFragment_to_readFragment)
+                controller.navigate(R.id.action_recordActionFragment_to_readFragment, bundle)
             }
 
             btnNext.setOnSingleClickListener {
                 val bundle = bundleOf("questionId" to 26)
                 val controller = Navigation.findNavController(it)
-                controller.navigate(R.id.action_recordActionFragment_to_multipleChoiceFragment, bundle)
+                controller.navigate(
+                    R.id.action_recordActionFragment_to_multipleChoiceFragment,
+                    bundle
+                )
+            }
+
+            soundImage.setOnSingleClickListener {
+                playVoice?.speakWithParagraph(firstWord, secondWord, thirdWord)
             }
         }
     }
@@ -47,4 +62,36 @@ class RecordActionFragment : BaseFragment<FragmentRecordActionBinding>() {
     override fun initData() {
 
     }
+
+    override fun onResume() {
+        super.onResume()
+        loadData()
+    }
+
+    /**
+     * 加载数据
+     */
+    private fun loadData() {
+        val firstquestion = dao?.getQuestion(questionId)
+        if (firstquestion != null) {
+            firstWord = firstquestion.reviewItem
+        }
+        val secondQuestionnId = questionId + 1
+        val secondQuestion = dao?.getQuestion(secondQuestionnId)
+        if (secondQuestion != null) {
+            secondWord = secondQuestion.reviewItem
+        }
+        val thirdQuestionId = questionId + 2
+        val thirdQuestion = dao?.getQuestion(thirdQuestionId)
+        if (thirdQuestion != null) {
+            thirdWord = thirdQuestion.reviewItem
+        }
+    }
+
+    override fun onPause() {
+        super.onPause()
+        if (playVoice != null) {
+            playVoice?.stop()
+        }
+    }
 }

+ 2 - 2
mmse/src/main/java/com/yingyangfly/mmse/fragment/SoundRecordFragment.kt

@@ -93,10 +93,10 @@ class SoundRecordFragment : BaseFragment<FragmentSoundRecordBinding>() {
         }
     }
 
-    override fun onDestroy() {
+    override fun onPause() {
+        super.onPause()
         if (playVoice != null) {
             playVoice?.stop()
         }
-        super.onDestroy()
     }
 }