Explorar el Código

1.添加获取moca试题库module

王鹏鹏 hace 2 años
padre
commit
39694bd3af

+ 1 - 0
.idea/misc.xml

@@ -129,6 +129,7 @@
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_identify_picture.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_identify_result.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_listen_record.xml" value="0.6" />
+        <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_memorize_numbers.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_multiple_choice.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_record_result.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_signature.xml" value="0.23697916666666666" />

+ 5 - 0
moca/src/main/java/com/yingyangfly/moca/identify/IdentifyResultFragment.kt

@@ -31,6 +31,11 @@ class IdentifyResultFragment : BaseFragment<FragmentIdentifyResultBinding>() {
     override fun initViews() {
         binding {
             rvChoice.adapter = adapter
+            adapter.onNumClickListener = {
+                if (dao != null) {
+                    dao?.update(it)
+                }
+            }
         }
     }
 

+ 73 - 0
moca/src/main/java/com/yingyangfly/moca/memorizenumbers/MemorizeNumbersFragment.kt

@@ -0,0 +1,73 @@
+package com.yingyangfly.moca.memorizenumbers
+
+import android.os.Bundle
+import androidx.core.os.bundleOf
+import androidx.navigation.Navigation
+import com.yingyang.moca.R
+import com.yingyang.moca.databinding.FragmentMemorizeNumbersBinding
+import com.yingyangfly.baselib.base.BaseFragment
+import com.yingyangfly.baselib.db.QuestionsBean
+import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.voice.PlayVoice
+
+/**
+ * 背数字
+ */
+class MemorizeNumbersFragment : BaseFragment<FragmentMemorizeNumbersBinding>() {
+
+    /**
+     * 问题id
+     */
+    private var questionId = 0
+    private var playVoice: PlayVoice? = null
+    private var question: QuestionsBean? = null
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        questionId = arguments?.getInt("questionId") ?: 44
+        super.onCreate(savedInstanceState)
+    }
+
+    override fun initViews() {
+        playVoice = PlayVoice()
+        playVoice?.setContext(mContext)
+    }
+
+    override fun initListener() {
+        binding {
+            imagePlay.setOnSingleClickListener {
+                if (question != null) {
+                    playVoice?.speak(question?.reviewDesc!!)
+                }
+            }
+            btnPrevious.setOnSingleClickListener {
+                val controller = Navigation.findNavController(it)
+                val bundle = bundleOf("questionId" to 78)
+                controller.navigate(
+                    R.id.action_memorizeNumbersFragment_to_recordResultFragment,
+                    bundle
+                )
+            }
+            btnNext.setOnSingleClickListener {
+
+            }
+        }
+    }
+
+    override fun initData() {
+
+    }
+
+    override fun onResume() {
+        super.onResume()
+        loadData()
+    }
+
+    /**
+     * 加载数据
+     */
+    private fun loadData() {
+        if (dao != null) {
+            question = dao?.getQuestion(questionId)
+        }
+    }
+}

+ 6 - 1
moca/src/main/java/com/yingyangfly/moca/record/RecordResultFragment.kt

@@ -60,7 +60,12 @@ class RecordResultFragment : BaseFragment<FragmentRecordResultBinding>() {
                             bundle
                         )
                     } else {
-
+                        val controller = Navigation.findNavController(it)
+                        val bundle = bundleOf("questionId" to 49)
+                        controller.navigate(
+                            R.id.action_recordResultFragment_to_memorizeNumbersFragment,
+                            bundle
+                        )
                     }
                 }
             }

+ 80 - 0
moca/src/main/res/layout/fragment_memorize_numbers.xml

@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <TextView
+            android:id="@+id/tvTitle"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_202px"
+            android:layout_marginTop="@dimen/divider_27px"
+            android:layout_marginEnd="@dimen/divider_200px"
+            android:gravity="center"
+            android:text="@string/here_some_numbers_listen_after_listening_please_recite_them_in_order"
+            android:textColor="@color/color_FF222222"
+            android:textSize="@dimen/divider_34px"
+            android:textStyle="bold"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatImageView
+            android:id="@+id/imagePlay"
+            android:layout_width="@dimen/divider_154px"
+            android:layout_height="@dimen/divider_154px"
+            android:layout_marginTop="@dimen/divider_56px"
+            android:background="@mipmap/icon_play_sound"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_20px"
+            android:text="@string/click_play"
+            android:textColor="@color/color_FF222222"
+            android:textSize="@dimen/divider_28px"
+            android:textStyle="bold"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/imagePlay" />
+
+        <androidx.appcompat.widget.AppCompatButton
+            android:id="@+id/btnPrevious"
+            android:layout_width="@dimen/divider_240px"
+            android:layout_height="@dimen/divider_68px"
+            android:layout_marginStart="@dimen/divider_307px"
+            android:layout_marginBottom="@dimen/divider_60px"
+            android:background="@drawable/bg_previous_question"
+            android:gravity="center"
+            android:text="@string/previous_page"
+            android:textColor="@color/color_FF4A76FF"
+            android:textSize="@dimen/divider_28px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatButton
+            android:id="@+id/btnNext"
+            android:layout_width="@dimen/divider_240px"
+            android:layout_height="@dimen/divider_68px"
+            android:layout_marginEnd="@dimen/divider_305px"
+            android:layout_marginBottom="@dimen/divider_60px"
+            android:background="@drawable/bg_next_question"
+            android:gravity="center"
+            android:text="@string/continues"
+            android:textColor="@android:color/white"
+            android:textSize="@dimen/divider_28px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>

+ 15 - 0
moca/src/main/res/navigation/nav_moca.xml

@@ -133,6 +133,21 @@
             android:id="@+id/action_recordResultFragment_to_listenRecordFragment"
             app:destination="@id/listenRecordFragment" />
 
+        <action
+            android:id="@+id/action_recordResultFragment_to_memorizeNumbersFragment"
+            app:destination="@id/memorizeNumbersFragment" />
+
+    </fragment>
+
+    <fragment
+        android:id="@+id/memorizeNumbersFragment"
+        android:name="com.yingyangfly.moca.memorizenumbers.MemorizeNumbersFragment"
+        android:label="memorizeNumbersFragment">
+
+        <action
+            android:id="@+id/action_memorizeNumbersFragment_to_recordResultFragment"
+            app:destination="@id/recordResultFragment" />
+
     </fragment>
 
 </navigation>

+ 1 - 0
moca/src/main/res/values/strings.xml

@@ -32,4 +32,5 @@
     <string name="previous_page" tools:ignore="ResourceName">上一页</string>
     <string name="may_i_ask_if_subjects_correctly_name_animals_picture" tools:ignore="ResourceName">请问受试者是否正确说出图中动物名称</string>
     <string name="please_say_words_you_just_heard" tools:ignore="ResourceName">请您说出刚才听到的词</string>
+    <string name="here_some_numbers_listen_after_listening_please_recite_them_in_order" tools:ignore="ResourceName">下面给您听一些数字,听完后请按照顺序背出来请听题</string>
 </resources>