Browse Source

1.添加获取moca试题库module

王鹏鹏 2 years ago
parent
commit
d9fde87077

+ 1 - 1
.idea/misc.xml

@@ -24,7 +24,7 @@
         <entry key="..\:/workspace/hcp-pad/baselib/src/main/res/layout/dialog_tips.xml" value="0.6" />
         <entry key="..\:/workspace/hcp-pad/baselib/src/main/res/layout/fragment_base.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/baselib/src/main/res/layout/fragment_dialog_base.xml" value="0.152" />
-        <entry key="..\:/workspace/hcp-pad/baselib/src/main/res/layout/fragment_task.xml" value="0.2" />
+        <entry key="..\:/workspace/hcp-pad/baselib/src/main/res/layout/fragment_task.xml" value="0.264" />
         <entry key="..\:/workspace/hcp-pad/baselib/src/main/res/layout/layout_center_toast.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/baselib/src/main/res/layout/rv_empty.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/calendar/src/main/res/layout/cbk_list_item_calendar.xml" value="0.23697916666666666" />

+ 3 - 2
baselib/src/main/java/com/yingyangfly/baselib/dialog/TipDialogFragment.kt

@@ -8,6 +8,7 @@ import android.view.View
 import androidx.fragment.app.FragmentManager
 import com.yingyangfly.baselib.base.BaseActivity
 import com.yingyangfly.baselib.databinding.DialogTipBinding
+import com.yingyangfly.baselib.ext.setTextColorResource
 import com.yingyangfly.baselib.ext.show
 
 /**
@@ -24,14 +25,14 @@ class TipDialogFragment(val builder: TipDialogBuilder) : BaseDialogFragment<Dial
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
-        if (builder.title.isNullOrEmpty() && builder.titleRes == 0) {
+        if (builder.title.isNullOrEmpty()) {
             subViewBinding.tvTipDialogTitle.show(false)
         } else {
             if (builder.title.isNullOrEmpty().not()) {
                 subViewBinding.tvTipDialogTitle.text = builder.title
             }
             if (builder.titleRes != 0) {
-                subViewBinding.tvTipDialogTitle.setText(builder.titleRes)
+                subViewBinding.tvTipDialogTitle.setTextColorResource(builder.titleRes)
             }
         }
 

+ 7 - 5
baselib/src/main/java/com/yingyangfly/baselib/dialog/TipsDialog.kt

@@ -11,6 +11,7 @@ import com.gyf.immersionbar.BarHide
 import com.gyf.immersionbar.ktx.immersionBar
 import com.yingyangfly.baselib.R
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.ext.setTextColorResource
 import com.yingyangfly.baselib.ext.show
 import com.yingyangfly.baselib.utils.ViewTool
 import gorden.rxbus2.RxBus
@@ -67,11 +68,12 @@ class TipsDialog(val builder: TipDialogBuilder) : DialogFragment() {
             tvTitle?.show(false)
         } else {
             tvTitle?.show(true)
-            tvTitle?.text = builder.title
-        }
-        if (builder.titleRes != 0) {
-            tvTitle?.show(true)
-            tvTitle?.setText(builder.titleRes)
+            if (builder.title.isNullOrEmpty().not()) {
+                tvTitle?.text = builder.title
+            }
+            if (builder.titleRes != 0) {
+                tvTitle?.setTextColorResource(builder.titleRes)
+            }
         }
         if (builder.content.isNullOrEmpty()) {
             tvContent?.show(false)

+ 1 - 0
moca/src/main/java/com/yingyangfly/moca/numberrecords/NumberRecordsFragment.kt

@@ -157,6 +157,7 @@ class NumberRecordsFragment : BaseFragment<FragmentNumberRecordsBinding>() {
      * 加载数据
      */
     private fun loadData() {
+        binding.editTime.setText("")
         when (questionId) {
             72 -> {
                 toastIndo = "请问今年是哪一年"

+ 39 - 21
moca/src/main/java/com/yingyangfly/moca/singlechoice/SingleChoiceFragment.kt

@@ -10,6 +10,7 @@ import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.moca.adapter.ChoiceAdapter
+import com.yingyangfly.moca.adapter.SpeakResultAdapter
 
 /**
  * 单选
@@ -22,7 +23,7 @@ class SingleChoiceFragment : BaseFragment<FragmentSingleChoiceBinding>() {
     private var questionId = 0
     private var question: QuestionsBean? = null
     private val choiceItemList = mutableListOf<QuestionsBean>()
-    private val adapter by lazy { ChoiceAdapter() }
+    private val adapter by lazy { SpeakResultAdapter() }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         questionId = arguments?.getInt("questionId") ?: 60
@@ -32,7 +33,7 @@ class SingleChoiceFragment : BaseFragment<FragmentSingleChoiceBinding>() {
     override fun initViews() {
         binding {
             rvChoice.adapter = adapter
-            adapter.onNumClickListener = {
+            adapter.onCheckClickListener = {
                 if (dao != null) {
                     dao?.update(it)
                 }
@@ -72,25 +73,27 @@ class SingleChoiceFragment : BaseFragment<FragmentSingleChoiceBinding>() {
                 }
             }
             btnNext.setOnSingleClickListener {
-                when (questionId) {
-                    60 -> {
-                        questionId++
-                        loadData()
-                    }
-                    77 -> {
-                        questionId--
-                        loadData()
-                    }
-                    76 -> {
-                        "提交信息".toast()
-                    }
-                    else -> {
-                        val controller = Navigation.findNavController(it)
-                        val bundle = bundleOf("questionId" to 62)
-                        controller.navigate(
-                            R.id.action_singleChoiceFragment_to_recordresultfragment,
-                            bundle
-                        )
+                if (judge()) {
+                    when (questionId) {
+                        60 -> {
+                            questionId++
+                            loadData()
+                        }
+                        77 -> {
+                            questionId--
+                            loadData()
+                        }
+                        76 -> {
+                            "提交信息".toast()
+                        }
+                        else -> {
+                            val controller = Navigation.findNavController(it)
+                            val bundle = bundleOf("questionId" to 62)
+                            controller.navigate(
+                                R.id.action_singleChoiceFragment_to_recordresultfragment,
+                                bundle
+                            )
+                        }
                     }
                 }
             }
@@ -133,4 +136,19 @@ class SingleChoiceFragment : BaseFragment<FragmentSingleChoiceBinding>() {
             }
         }
     }
+
+    /**
+     * 非空判断
+     */
+    private fun judge(): Boolean {
+        if (choiceItemList.isNullOrEmpty().not()) {
+            choiceItemList.forEach {
+                if (it.inputString.isNullOrEmpty()) {
+                    "请判断答案是否正确".toast()
+                    return false
+                }
+            }
+        }
+        return true
+    }
 }

+ 28 - 6
moca/src/main/java/com/yingyangfly/moca/timepiece/TimepieceFragment.kt

@@ -1,11 +1,13 @@
 package com.yingyangfly.moca.timepiece
 
 import android.annotation.SuppressLint
+import android.view.View
 import androidx.core.os.bundleOf
 import androidx.navigation.Navigation
 import com.yingyang.moca.R
 import com.yingyang.moca.databinding.FragmentTimepieceBinding
 import com.yingyangfly.baselib.base.BaseFragment
+import com.yingyangfly.baselib.dialog.TipsDialog
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.utils.RxTimer
 
@@ -62,16 +64,36 @@ class TimepieceFragment : BaseFragment<FragmentTimepieceBinding>() {
             }
 
             btnNext.setOnSingleClickListener {
-                val controller = Navigation.findNavController(it)
-                val bundle = bundleOf("questionId" to 59)
-                controller.navigate(
-                    R.id.action_timepieceFragment_to_numberRecordsFragment,
-                    bundle
-                )
+                if (seconds < 60) {
+                    TipsDialog.TipDialogBuilder()
+                        .title("提示", R.color.color_FF222222)
+                        .content("时间还未满1分钟,确定继续下一页吗?")
+                        .leftBtnText("取消")
+                        .rightBtnText("确定")
+                        .leftClick({
+                            null
+                        }, true)
+                        .rightClick({
+                            goNextPage(it)
+                            null
+                        }, true)
+                        .show(childFragmentManager)
+                } else {
+                    goNextPage(it)
+                }
             }
         }
     }
 
+    private fun goNextPage(view: View) {
+        val controller = Navigation.findNavController(view)
+        val bundle = bundleOf("questionId" to 59)
+        controller.navigate(
+            R.id.action_timepieceFragment_to_numberRecordsFragment,
+            bundle
+        )
+    }
+
     override fun initData() {
 
     }