Explorar o código

1.专业测评添加非空判断

王鹏鹏 %!s(int64=2) %!d(string=hai) anos
pai
achega
8035c9c4a0

+ 3 - 0
.idea/misc.xml

@@ -569,6 +569,9 @@
         <entry key="..\:/workspace/hcp-pads/livebroadcast/src/main/res/layout/dialog_game_tasks.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/livebroadcast/src/main/res/layout/item_live_broadcast.xml" value="0.6" />
         <entry key="..\:/workspace/hcp-pads/login/src/main/res/layout/activity_login.xml" value="0.4" />
+        <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/fragment_count.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/fragment_memory_words.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/fragment_recognition_image.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/item_choice.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/item_number.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/moca/src/main/res/layout/fragment_identify_picture.xml" value="0.4" />

+ 5 - 4
mmse/src/main/java/com/yingyangfly/mmse/adapter/NumberAdapter.kt

@@ -3,6 +3,7 @@ package com.yingyangfly.mmse.adapter
 import android.annotation.SuppressLint
 import android.text.TextUtils
 import android.view.MotionEvent
+import android.view.View
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.ItemNumberBinding
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
@@ -16,7 +17,7 @@ import com.yingyangfly.baselib.ext.setTextColorResource
 class NumberAdapter(override val layoutId: Int = R.layout.item_number) :
     BaseDataBindingAdapter<String, ItemNumberBinding>() {
 
-    var onNumClickListener: ((bean: String, type: String) -> Unit)? = null
+    var onNumClickListener: ((view: View, bean: String, type: String) -> Unit)? = null
 
     @SuppressLint("ClickableViewAccessibility")
     override fun onBindViewHolder(binding: ItemNumberBinding, item: String, position: Int) {
@@ -36,11 +37,11 @@ class NumberAdapter(override val layoutId: Int = R.layout.item_number) :
                 MotionEvent.ACTION_UP -> {
                     v.startAnimation(getEndAnimation())
                     if (TextUtils.equals("删除", item)) {
-                        onNumClickListener?.invoke("", "1")
+                        onNumClickListener?.invoke(v, "", "1")
                     } else if (TextUtils.equals("确定", item)) {
-                        onNumClickListener?.invoke("", "2")
+                        onNumClickListener?.invoke(v, "", "2")
                     } else {
-                        onNumClickListener?.invoke(item, "0")
+                        onNumClickListener?.invoke(v, item, "0")
                     }
                 }
                 MotionEvent.ACTION_CANCEL -> {

+ 98 - 44
mmse/src/main/java/com/yingyangfly/mmse/fragment/CountFragment.kt

@@ -3,6 +3,7 @@ package com.yingyangfly.mmse.fragment
 import android.annotation.SuppressLint
 import android.os.Build
 import android.os.Bundle
+import android.text.TextUtils
 import android.view.MotionEvent
 import android.view.View
 import androidx.annotation.RequiresApi
@@ -73,7 +74,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
             rvInput.layoutManager = GridLayoutManager(mContext, 3)
             rvInput.adapter = adapter
             adapter.setData(numberList)
-            adapter.onNumClickListener = { bean: String, type: String ->
+            adapter.onNumClickListener = { view, bean: String, type: String ->
                 when (type) {
                     "0" -> {
                         append(bean)
@@ -82,7 +83,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
                         delete()
                     }
                     "2" -> {
-                        save()
+                        save(view)
                     }
                 }
             }
@@ -107,7 +108,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
      */
     private fun setOnFocusChangeListener() {
         binding {
-            editResultOne.setOnFocusChangeListener { v, hasFocus ->
+            editResultOne.setOnFocusChangeListener { _, hasFocus ->
                 questionOne = hasFocus
                 questionTwo = false
                 questionThree = false
@@ -115,7 +116,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
                 questionFive = false
             }
 
-            editResultTwo.setOnFocusChangeListener { v, hasFocus ->
+            editResultTwo.setOnFocusChangeListener { _, hasFocus ->
                 questionOne = false
                 questionTwo = hasFocus
                 questionThree = false
@@ -123,7 +124,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
                 questionFive = false
             }
 
-            editResultThree.setOnFocusChangeListener { v, hasFocus ->
+            editResultThree.setOnFocusChangeListener { _, hasFocus ->
                 questionOne = false
                 questionTwo = false
                 questionThree = hasFocus
@@ -131,7 +132,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
                 questionFive = false
             }
 
-            editResultFour.setOnFocusChangeListener { v, hasFocus ->
+            editResultFour.setOnFocusChangeListener { _, hasFocus ->
                 questionOne = false
                 questionTwo = false
                 questionThree = false
@@ -139,7 +140,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
                 questionFive = false
             }
 
-            editResultFive.setOnFocusChangeListener { v, hasFocus ->
+            editResultFive.setOnFocusChangeListener { _, hasFocus ->
                 questionOne = false
                 questionTwo = false
                 questionThree = false
@@ -151,6 +152,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
 
     override fun onResume() {
         super.onResume()
+        binding.editResultOne.requestFocus()
         loadData()
     }
 
@@ -163,7 +165,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
             if (firstQuestion != null && firstQuestion!!.inputString.isNullOrEmpty().not()) {
                 binding.editResultOne.post {
                     if (stringBufferOne.toString().isEmpty().not()) {
-                        stringBufferOne.delete(0, firstQuestion!!.inputString.length - 1)
+                        stringBufferOne.delete(0, stringBufferOne.length)
                     }
                     stringBufferOne.append(firstQuestion!!.inputString)
                     binding.editResultOne.setText(firstQuestion!!.inputString)
@@ -175,7 +177,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
             if (secondQuestion != null && secondQuestion!!.inputString.isNullOrEmpty().not()) {
                 binding.editResultTwo.post {
                     if (stringBufferTwo.toString().isEmpty().not()) {
-                        stringBufferTwo.delete(0, secondQuestion!!.inputString.length - 1)
+                        stringBufferTwo.delete(0, stringBufferTwo.length)
                     }
                     stringBufferTwo.append(secondQuestion!!.inputString)
                     binding.editResultTwo.setText(secondQuestion!!.inputString)
@@ -187,7 +189,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
             if (thirdQuestion != null && thirdQuestion!!.inputString.isNullOrEmpty().not()) {
                 binding.editResultThree.post {
                     if (stringBufferThree.toString().isEmpty().not()) {
-                        stringBufferThree.delete(0, thirdQuestion!!.inputString.length - 1)
+                        stringBufferThree.delete(0, stringBufferThree.length)
                     }
                     stringBufferThree.append(thirdQuestion!!.inputString)
                     binding.editResultThree.setText(thirdQuestion!!.inputString)
@@ -199,7 +201,7 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
             if (fourthQuestion != null && fourthQuestion!!.inputString.isNullOrEmpty().not()) {
                 binding.editResultFour.post {
                     if (stringBufferFour.toString().isEmpty().not()) {
-                        stringBufferFour.delete(0, fourthQuestion!!.inputString.length - 1)
+                        stringBufferFour.delete(0, stringBufferFour.length)
                     }
                     stringBufferFour.append(fourthQuestion!!.inputString)
                     binding.editResultFour.setText(fourthQuestion!!.inputString)
@@ -210,8 +212,8 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
             fifthQuestion = questionsDao?.getQuestion(fifthQuestionId)
             if (fifthQuestion != null && fifthQuestion!!.inputString.isNullOrEmpty().not()) {
                 binding.editResultFive.post {
-                    if (stringBufferFive.toString().isEmpty().not()) {
-                        stringBufferFive.delete(0, fifthQuestion!!.inputString.length - 1)
+                    if (TextUtils.isEmpty(stringBufferFive.toString()).not()) {
+                        stringBufferFive.delete(0, stringBufferFive.length)
                     }
                     stringBufferFive.append(fifthQuestion!!.inputString)
                     binding.editResultFive.setText(fifthQuestion!!.inputString)
@@ -390,51 +392,103 @@ class CountFragment : BaseFragment<FragmentCountBinding>(), View.OnTouchListener
     /**
      * 保存数据
      */
-    private fun save() {
+    private fun save(view: View) {
         if (questionsDao != null) {
             if (questionOne) {
-                if (firstQuestion != null) {
-                    firstQuestion!!.inputString = binding.editResultOne.toString().trim()
-                    firstQuestion!!.reviewId = firstQuestion!!.id
-                    firstQuestion!!.reviewAnswer = binding.editResultOne.toString().trim()
-                    firstQuestion!!.correct = ""
-                    questionsDao?.update(firstQuestion!!)
+                if (TextUtils.isEmpty(binding.editResultOne.text.toString().trim())) {
+                    "请输入第一道题目的答案".toast()
+                } else {
+                    if (firstQuestion != null) {
+                        binding.editResultOne.post {
+                            firstQuestion!!.inputString =
+                                binding.editResultOne.text.toString().trim()
+                            firstQuestion!!.reviewId = firstQuestion!!.id
+                            firstQuestion!!.reviewAnswer =
+                                binding.editResultOne.text.toString().trim()
+                            firstQuestion!!.correct = ""
+                            questionsDao?.update(firstQuestion!!)
+                            binding.editResultTwo.requestFocus()
+                        }
+                    }
                 }
             }
             if (questionTwo) {
-                if (secondQuestion != null) {
-                    secondQuestion!!.inputString = binding.editResultTwo.toString().trim()
-                    secondQuestion!!.reviewId = secondQuestion!!.id
-                    secondQuestion!!.reviewAnswer = binding.editResultTwo.toString().trim()
-                    secondQuestion!!.correct = ""
-                    questionsDao?.update(secondQuestion!!)
+                if (TextUtils.isEmpty(binding.editResultTwo.text.toString().trim())) {
+                    "请输入第二道题目的答案".toast()
+                } else {
+                    if (secondQuestion != null) {
+                        binding.editResultTwo.post {
+                            secondQuestion!!.inputString =
+                                binding.editResultTwo.text.toString().trim()
+                            secondQuestion!!.reviewId = secondQuestion!!.id
+                            secondQuestion!!.reviewAnswer =
+                                binding.editResultTwo.text.toString().trim()
+                            secondQuestion!!.correct = ""
+                            questionsDao?.update(secondQuestion!!)
+                            binding.editResultThree.requestFocus()
+                        }
+                    }
                 }
             }
             if (questionThree) {
-                if (thirdQuestion != null) {
-                    thirdQuestion!!.inputString = binding.editResultThree.toString().trim()
-                    thirdQuestion!!.reviewId = thirdQuestion!!.id
-                    thirdQuestion!!.reviewAnswer = binding.editResultThree.toString().trim()
-                    thirdQuestion!!.correct = ""
-                    questionsDao?.update(thirdQuestion!!)
+                if (TextUtils.isEmpty(binding.editResultThree.text.toString().trim())) {
+                    "请输入第三道题目的答案".toast()
+                } else {
+                    if (thirdQuestion != null) {
+                        binding.editResultThree.post {
+                            thirdQuestion!!.inputString =
+                                binding.editResultThree.text.toString().trim()
+                            thirdQuestion!!.reviewId = thirdQuestion!!.id
+                            thirdQuestion!!.reviewAnswer =
+                                binding.editResultThree.text.toString().trim()
+                            thirdQuestion!!.correct = ""
+                            questionsDao?.update(thirdQuestion!!)
+                            binding.editResultFour.requestFocus()
+                        }
+                    }
                 }
             }
             if (questionFour) {
-                if (fourthQuestion != null) {
-                    fourthQuestion!!.inputString = binding.editResultFour.toString().trim()
-                    fourthQuestion!!.reviewId = fourthQuestion!!.id
-                    fourthQuestion!!.reviewAnswer = binding.editResultFour.toString().trim()
-                    fourthQuestion!!.correct = ""
-                    questionsDao?.update(fourthQuestion!!)
+                if (TextUtils.isEmpty(binding.editResultFour.text.toString().trim())) {
+                    "请输入第四道题目的答案".toast()
+                } else {
+                    if (fourthQuestion != null) {
+                        binding.editResultFour.post {
+                            fourthQuestion!!.inputString =
+                                binding.editResultFour.text.toString().trim()
+                            fourthQuestion!!.reviewId = fourthQuestion!!.id
+                            fourthQuestion!!.reviewAnswer =
+                                binding.editResultFour.text.toString().trim()
+                            fourthQuestion!!.correct = ""
+                            questionsDao?.update(fourthQuestion!!)
+                            binding.editResultFive.requestFocus()
+                        }
+                    }
                 }
             }
             if (questionFive) {
-                if (fifthQuestion != null) {
-                    fifthQuestion!!.inputString = binding.editResultFive.toString().trim()
-                    fifthQuestion!!.reviewId = fifthQuestion!!.id
-                    fifthQuestion!!.reviewAnswer = binding.editResultFive.toString().trim()
-                    fifthQuestion!!.correct = ""
-                    questionsDao?.update(fifthQuestion!!)
+                if (TextUtils.isEmpty(binding.editResultFive.text.toString().trim())) {
+                    "请输入第五道题目的答案".toast()
+                } else {
+                    if (fifthQuestion != null) {
+                        binding.editResultFive.post {
+                            fifthQuestion!!.inputString =
+                                binding.editResultFive.text.toString().trim()
+                            fifthQuestion!!.reviewId = fifthQuestion!!.id
+                            fifthQuestion!!.reviewAnswer =
+                                binding.editResultFive.text.toString().trim()
+                            fifthQuestion!!.correct = ""
+                            questionsDao?.update(fifthQuestion!!)
+                            if (judge()) {
+                                val bundle = bundleOf("questionId" to 22)
+                                val controller = Navigation.findNavController(view)
+                                controller.navigate(
+                                    R.id.action_countFragment_to_recognitionImageFragment,
+                                    bundle
+                                )
+                            }
+                        }
+                    }
                 }
             }
 

+ 24 - 8
mmse/src/main/java/com/yingyangfly/mmse/fragment/InputFragment.kt

@@ -32,7 +32,7 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
     private val numberList = mutableListOf<String>()
     private val numberAdapter by lazy { NumberAdapter() }
     private val stringBuffer = StringBuffer()
-    var question: QuestionsBean? = null
+    private var question: QuestionsBean? = null
 
     override fun onCreate(savedInstanceState: Bundle?) {
         questionId = arguments?.getInt("questionId") ?: 3
@@ -47,7 +47,7 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
             rvNum.adapter = numberAdapter
         }
         numberAdapter.setData(numberList)
-        numberAdapter.onNumClickListener = { bean, type ->
+        numberAdapter.onNumClickListener = { view, bean, type ->
             when (type) {
                 "0" -> {
                     append(bean)
@@ -56,7 +56,7 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
                     delect()
                 }
                 "2" -> {
-                    saveData()
+                    saveData(view)
                 }
             }
         }
@@ -101,7 +101,7 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
      */
     private fun loadData() {
         binding.editYear.setText("")
-        if (stringBuffer.toString().isNullOrEmpty().not()) {
+        if (stringBuffer.toString().isEmpty().not()) {
             val length = stringBuffer.length
             stringBuffer.delete(0, length)
         }
@@ -138,7 +138,7 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
      */
     private fun delect() {
         binding.editYear.post {
-            if (stringBuffer.toString().isNullOrEmpty().not()) {
+            if (stringBuffer.toString().isEmpty().not()) {
                 val size = stringBuffer.toString().length - 1
                 stringBuffer.deleteCharAt(size)
                 binding.editYear.setText(stringBuffer.toString())
@@ -150,9 +150,12 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
     /**
      * 保存数据
      */
-    private fun saveData() {
+    private fun saveData(view: View) {
         binding.editYear.post {
-            if (questionsDao != null) {
+            if (binding.editYear.text.toString().isEmpty()) {
+                val str = "请输入" + question!!.reviewItem
+                str.toast()
+            } else {
                 if (question != null) {
                     question!!.inputString = binding.editYear.text.toString().trim()
                     question!!.reviewId = question!!.id
@@ -160,10 +163,23 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
                     question!!.correct = ""
                     questionsDao?.update(question!!)
                 }
+                if (questionId == 3) {
+                    questionId++
+                    loadData()
+                } else {
+                    questionId++
+                    val bundle = bundleOf("questionId" to questionId)
+                    val controller = Navigation.findNavController(view)
+                    controller.navigate(
+                        R.id.action_inputFragment_to_selectedItemFragment,
+                        bundle
+                    )
+                }
             }
         }
     }
 
+    @SuppressLint("ClickableViewAccessibility")
     override fun onTouch(v: View, event: MotionEvent): Boolean {
         when (event.action) {
             MotionEvent.ACTION_DOWN -> {
@@ -206,7 +222,7 @@ class InputFragment : BaseFragment<FragmentInputBinding>(), View.OnTouchListener
      * 下一页
      */
     private fun pageNext(v: View) {
-        if (binding.editYear.text.toString().isNullOrEmpty()) {
+        if (binding.editYear.text.toString().isEmpty()) {
             val str = "请输入" + question!!.reviewItem
             str.toast()
         } else {

+ 27 - 18
mmse/src/main/java/com/yingyangfly/mmse/fragment/JudgmentFragment.kt

@@ -23,8 +23,7 @@ class JudgmentFragment : BaseFragment<FragmentJudgmentBinding>(), View.OnTouchLi
     /**
      * 原始问题id(6.7.8.9.10) (29)
      */
-    var questionId = 0
-
+    private var questionId = 0
     private var question: QuestionsBean? = null
 
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -99,7 +98,9 @@ class JudgmentFragment : BaseFragment<FragmentJudgmentBinding>(), View.OnTouchLi
                 if (v.id == R.id.btnPrevious) {
                     pageUp(v)
                 } else if (v.id == R.id.btnNext) {
-                    pageNext(v)
+                    if (judge()) {
+                        pageNext(v)
+                    }
                 }
             }
             MotionEvent.ACTION_CANCEL -> {
@@ -111,6 +112,19 @@ class JudgmentFragment : BaseFragment<FragmentJudgmentBinding>(), View.OnTouchLi
         return true
     }
 
+    /**
+     * 非空判断
+     */
+    private fun judge(): Boolean {
+        if (question != null) {
+            if (question!!.correct.isNullOrEmpty()) {
+                "请判断受试者的回答是否正确".toast()
+                return false
+            }
+        }
+        return true
+    }
+
     /**
      * 上一页
      */
@@ -148,22 +162,17 @@ class JudgmentFragment : BaseFragment<FragmentJudgmentBinding>(), View.OnTouchLi
             controller.navigate(R.id.action_judgmentFragment_to_drawDesignsFragment, bundle)
         } else {
             if (question != null) {
-                if (question!!.inputString.isNullOrEmpty()) {
-                    val str = "请判断受试者的回答是否正确"
-                    str.toast()
+                questionId++
+                if (questionId < 11) {
+                    binding.judgeRadio.clearCheck()
+                    loadData()
                 } else {
-                    questionId++
-                    if (questionId < 11) {
-                        binding.judgeRadio.clearCheck()
-                        loadData()
-                    } else {
-                        val bundle = bundleOf("questionId" to questionId)
-                        val controller = Navigation.findNavController(v)
-                        controller.navigate(
-                            R.id.action_judgmentFragment_to_soundRecordFragment,
-                            bundle
-                        )
-                    }
+                    val bundle = bundleOf("questionId" to questionId)
+                    val controller = Navigation.findNavController(v)
+                    controller.navigate(
+                        R.id.action_judgmentFragment_to_soundRecordFragment,
+                        bundle
+                    )
                 }
             }
         }

+ 22 - 8
mmse/src/main/java/com/yingyangfly/mmse/fragment/JudgmentRecordFragment.kt

@@ -98,11 +98,16 @@ class JudgmentRecordFragment : BaseFragment<FragmentJudgmentRecordBinding>(), Vi
                         pageUp(v)
                     }
                     R.id.btnNext -> {
-                        pageNext(v)
+                        if (judge()) {
+                            pageNext(v)
+                        }
                     }
                     R.id.soundImage -> {
                         if (question != null) {
-                            LiveEventBusUtil.send(RxBusCodes.SPEECHSYNTHESIS, question?.reviewItem!!)
+                            LiveEventBusUtil.send(
+                                RxBusCodes.SPEECHSYNTHESIS,
+                                question?.reviewItem!!
+                            )
                         }
                     }
                 }
@@ -116,6 +121,19 @@ class JudgmentRecordFragment : BaseFragment<FragmentJudgmentRecordBinding>(), Vi
         return true
     }
 
+    /**
+     * 非空判断
+     */
+    private fun judge(): Boolean {
+        if (question != null) {
+            if (TextUtils.isEmpty(question!!.correct)) {
+                "请判断受试者回答是否正确".toast()
+                return false
+            }
+        }
+        return true
+    }
+
     /**
      * 上一页
      */
@@ -133,12 +151,8 @@ class JudgmentRecordFragment : BaseFragment<FragmentJudgmentRecordBinding>(), Vi
      */
     private fun pageNext(v: View) {
         if (question != null) {
-            if (question?.inputString.isNullOrEmpty()) {
-                "请判断受试者的回答是否正确".toast()
-            } else {
-                val controller = Navigation.findNavController(v)
-                controller.navigate(R.id.action_judgmentRecordFragment_to_readFragment)
-            }
+            val controller = Navigation.findNavController(v)
+            controller.navigate(R.id.action_judgmentRecordFragment_to_readFragment)
         }
     }
 

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

@@ -16,7 +16,6 @@ import com.yingyangfly.baselib.ext.getScaleAnimation
  */
 class MemoryWordsFragment : BaseFragment<FragmentMemoryWordsBinding>(), View.OnTouchListener {
 
-
     override fun initViews() {
 
     }
@@ -46,7 +45,9 @@ class MemoryWordsFragment : BaseFragment<FragmentMemoryWordsBinding>(), View.OnT
                 if (v.id == R.id.btnPrevious) {
                     pageUp(v)
                 } else if (v.id == R.id.btnNext) {
-                    pageNext(v)
+                    if (judge()) {
+                        pageNext(v)
+                    }
                 }
             }
             MotionEvent.ACTION_CANCEL -> {
@@ -58,6 +59,14 @@ class MemoryWordsFragment : BaseFragment<FragmentMemoryWordsBinding>(), View.OnT
         return true
     }
 
+    /**
+     * 非空判断
+     */
+    private fun judge(): Boolean {
+
+        return true
+    }
+
     /**
      * 上一页
      */

+ 11 - 6
mmse/src/main/java/com/yingyangfly/mmse/fragment/MultipleChoiceFragment.kt

@@ -25,8 +25,7 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>(), Vi
     /**
      * 问题id
      */
-    var questionId = 0
-
+    private var questionId = 0
     private val choiceItemList = mutableListOf<QuestionsBean>()
     private val adapter by lazy { ChoiceAdapter() }
 
@@ -37,10 +36,16 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>(), Vi
 
     override fun initViews() {
         binding {
-            binding.tvTitle.text = if (questionId == 19) {
-                "还记得刚才让您记住的那三个词吗?请您再说一遍"
-            } else {
-                "现在您将听到三个词,全部听完之后请您重复说一遍。请记住这三个词,过一会还要问您"
+            binding.tvTitle.text = when (questionId) {
+                26 -> {
+                    "请判断"
+                }
+                19 -> {
+                    "还记得刚才让您记住的那三个词吗?请您再说一遍"
+                }
+                else -> {
+                    "现在您将听到三个词,全部听完之后请您重复说一遍。请记住这三个词,过一会还要问您"
+                }
             }
             rvChoice.adapter = adapter
             adapter.onNumClickListener = { bean ->

+ 19 - 9
mmse/src/main/java/com/yingyangfly/mmse/fragment/ReadFragment.kt

@@ -98,7 +98,9 @@ class ReadFragment : BaseFragment<FragmentReadBinding>(), View.OnTouchListener {
                         pageUp(v)
                     }
                     R.id.btnNext -> {
-                        pageNext(v)
+                        if (judge()) {
+                            pageNext(v)
+                        }
                     }
                     R.id.soundImage -> {
                         val closeEyesFragment = CloseEyesFragment()
@@ -115,6 +117,19 @@ class ReadFragment : BaseFragment<FragmentReadBinding>(), View.OnTouchListener {
         return true
     }
 
+    /**
+     * 非空判断
+     */
+    private fun judge(): Boolean {
+        if (question != null) {
+            if (TextUtils.isEmpty(question!!.correct)) {
+                "请判断受试者的回答是否正确".toast()
+                return false
+            }
+        }
+        return true
+    }
+
     /**
      * 上一页
      */
@@ -128,13 +143,8 @@ class ReadFragment : BaseFragment<FragmentReadBinding>(), View.OnTouchListener {
      * 下一页
      */
     private fun pageNext(v: View) {
-        if (question!!.inputString.isNullOrEmpty()) {
-            val str = "请判断受试者的回答是否正确"
-            str.toast()
-        } else {
-            val bundle = bundleOf("questionId" to 26)
-            val controller = Navigation.findNavController(v)
-            controller.navigate(R.id.action_readFragment_to_recordActionFragment, bundle)
-        }
+        val bundle = bundleOf("questionId" to 26)
+        val controller = Navigation.findNavController(v)
+        controller.navigate(R.id.action_readFragment_to_recordActionFragment, bundle)
     }
 }

+ 32 - 7
mmse/src/main/java/com/yingyangfly/mmse/fragment/RecognitionImageFragment.kt

@@ -5,6 +5,7 @@ import android.graphics.Bitmap
 import android.graphics.drawable.BitmapDrawable
 import android.graphics.drawable.Drawable
 import android.os.Bundle
+import android.text.TextUtils
 import android.view.MotionEvent
 import android.view.View
 import androidx.core.os.bundleOf
@@ -15,6 +16,7 @@ import com.yingyangfly.baselib.base.BaseFragment
 import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
+import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.utils.ImageUtil
 import com.yingyangfly.mmse.adapter.ChoiceAdapter
 
@@ -28,8 +30,9 @@ class RecognitionImageFragment : BaseFragment<FragmentRecognitionImageBinding>()
     /**
      * 问题id
      */
-    var questionId = 0
-
+    private var questionId = 0
+    private var firstQuestion: QuestionsBean? = null
+    private var secondQuestion: QuestionsBean? = null
     private val choiceItemList = mutableListOf<QuestionsBean>()
     private val adapter by lazy { ChoiceAdapter() }
     private var bitmap: Bitmap? = null
@@ -74,13 +77,13 @@ class RecognitionImageFragment : BaseFragment<FragmentRecognitionImageBinding>()
     private fun loadData() {
         choiceItemList.clear()
         if (questionsDao != null) {
-            val firstQuestion = questionsDao?.getQuestion(questionId)
+            firstQuestion = questionsDao?.getQuestion(questionId)
             if (firstQuestion != null) {
                 binding.firstData = firstQuestion
-                choiceItemList.add(firstQuestion)
+                choiceItemList.add(firstQuestion!!)
             }
             val secondQuestionId = questionId + 1
-            val secondQuestion = questionsDao?.getQuestion(secondQuestionId)
+            secondQuestion = questionsDao?.getQuestion(secondQuestionId)
             if (secondQuestion != null) {
                 if (questionId == 22) {
                     binding.secondData = secondQuestion
@@ -90,7 +93,7 @@ class RecognitionImageFragment : BaseFragment<FragmentRecognitionImageBinding>()
                         ImageUtil.loadUrl(mContext, drawable, binding.rightImage)
                     }
                 }
-                choiceItemList.add(secondQuestion)
+                choiceItemList.add(secondQuestion!!)
             }
         }
         adapter.setData(choiceItemList)
@@ -109,7 +112,9 @@ class RecognitionImageFragment : BaseFragment<FragmentRecognitionImageBinding>()
                 if (v.id == R.id.btnPrevious) {
                     pageUp(v)
                 } else if (v.id == R.id.btnNext) {
-                    pageNext(v)
+                    if (judge()) {
+                        pageNext(v)
+                    }
                 }
             }
             MotionEvent.ACTION_CANCEL -> {
@@ -121,6 +126,26 @@ class RecognitionImageFragment : BaseFragment<FragmentRecognitionImageBinding>()
         return true
     }
 
+    /**
+     * 非空判断
+     */
+    private fun judge(): Boolean {
+        if (firstQuestion != null) {
+            if (TextUtils.isEmpty(firstQuestion!!.correct)) {
+                "请判定第一题答案".toast()
+                return false
+            }
+        }
+
+        if (secondQuestion != null) {
+            if (TextUtils.isEmpty(secondQuestion!!.correct)) {
+                "请判定第二题答案".toast()
+                return false
+            }
+        }
+        return true
+    }
+
     /**
      * 上一页
      */

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

@@ -27,8 +27,6 @@ class RecordActionFragment : BaseFragment<FragmentRecordActionBinding>(), View.O
     private var secondWord = ""
     private var thirdWord = ""
 
-//    private var playVoice: PlayVoice? = null
-
     override fun onCreate(savedInstanceState: Bundle?) {
         questionId = arguments?.getInt("questionId") ?: 26
         super.onCreate(savedInstanceState)

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

@@ -26,9 +26,9 @@ class SelectedItemFragment : BaseFragment<FragmentSelectedItemBinding>(), View.O
     /**
      * 原始问题id (2) (5)
      */
-    var questionId = 0
+    private var questionId = 0
 
-    var question: QuestionsBean? = null
+    private var question: QuestionsBean? = null
 
     private val itemList = mutableListOf<String>()
     private val selectedAdapter by lazy { SelectedItemAdapter() }
@@ -145,6 +145,7 @@ class SelectedItemFragment : BaseFragment<FragmentSelectedItemBinding>(), View.O
         }
     }
 
+    @SuppressLint("ClickableViewAccessibility")
     override fun onTouch(v: View, event: MotionEvent): Boolean {
         when (event.action) {
             MotionEvent.ACTION_DOWN -> {

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

@@ -27,8 +27,6 @@ class SoundRecordFragment : BaseFragment<FragmentSoundRecordBinding>(), View.OnT
     private var secondWord = ""
     private var thirdWord = ""
 
-//    private var playVoice: PlayVoice? = null
-
     override fun onCreate(savedInstanceState: Bundle?) {
         questionId = arguments?.getInt("questionId") ?: 11
         super.onCreate(savedInstanceState)

+ 18 - 8
mmse/src/main/java/com/yingyangfly/mmse/fragment/YearFragment.kt

@@ -24,7 +24,7 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
     private val numberList = mutableListOf<String>()
     private val numberAdapter by lazy { NumberAdapter() }
     private val stringBuffer = StringBuffer()
-    var question: QuestionsBean? = null
+    private var question: QuestionsBean? = null
 
     @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
     override fun initViews() {
@@ -32,7 +32,7 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
         binding.rvNum.layoutManager = GridLayoutManager(mContext, 3)
         binding.rvNum.adapter = numberAdapter
         numberAdapter.setData(numberList)
-        numberAdapter.onNumClickListener = { bean, type ->
+        numberAdapter.onNumClickListener = { view, bean, type ->
             when (type) {
                 "0" -> {
                     append(bean)
@@ -41,7 +41,7 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
                     delect()
                 }
                 "2" -> {
-                    saveData()
+                    saveData(view)
                 }
             }
 
@@ -89,7 +89,7 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
                 toastInfo = question!!.reviewItem
                 if (question!!.inputString.isNullOrEmpty().not()) {
                     binding.editYear.post {
-                        if (stringBuffer.toString().isNullOrEmpty().not()) {
+                        if (stringBuffer.toString().isEmpty().not()) {
                             stringBuffer.delete(0, question!!.inputString.length - 1)
                         }
                         stringBuffer.append(question!!.inputString)
@@ -101,6 +101,7 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
         }
     }
 
+    @SuppressLint("ClickableViewAccessibility")
     override fun onTouch(v: View, event: MotionEvent): Boolean {
         when (event.action) {
             MotionEvent.ACTION_DOWN -> {
@@ -139,7 +140,7 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
      */
     private fun delect() {
         binding.editYear.post {
-            if (stringBuffer.toString().isNullOrEmpty().not()) {
+            if (stringBuffer.toString().isEmpty().not()) {
                 val size = stringBuffer.toString().length - 1
                 stringBuffer.deleteCharAt(size)
                 binding.editYear.setText(stringBuffer.toString())
@@ -151,15 +152,24 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
     /**
      * 保存数据
      */
-    private fun saveData() {
+    private fun saveData(view: View) {
         binding.editYear.post {
-            if (questionsDao != null) {
+            if (binding.editYear.text.toString().trim().isEmpty()) {
+                val str = "请输入$toastInfo"
+                str.toast()
+            } else {
                 if (question != null) {
                     question!!.inputString = binding.editYear.text.toString().trim()
                     question!!.reviewId = question!!.id
                     question!!.reviewAnswer = binding.editYear.text.toString().trim()
                     question!!.correct = ""
                     questionsDao?.update(question!!)
+                    val bundle = bundleOf("questionId" to 2)
+                    val controller = Navigation.findNavController(view)
+                    controller.navigate(
+                        R.id.action_yearFragment_to_selectedItemFragment,
+                        bundle
+                    )
                 }
             }
         }
@@ -169,7 +179,7 @@ class YearFragment : BaseFragment<FragmentYearBinding>(), View.OnTouchListener {
      * 下一页
      */
     private fun pageNext(v: View) {
-        if (binding.editYear.text.toString().trim().isNullOrEmpty()) {
+        if (binding.editYear.text.toString().trim().isEmpty()) {
             val str = "请输入$toastInfo"
             str.toast()
         } else {