ソースを参照

1.添加获取moca试题库module

王鹏鹏 2 年 前
コミット
71ea604c6f

+ 1 - 0
.idea/misc.xml

@@ -146,6 +146,7 @@
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_timepiece.xml" value="0.8129032258064516" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_tips.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_verify_answers.xml" value="0.4" />
+        <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_week.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_choice.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_moca_choice.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_number.xml" value="0.23697916666666666" />

+ 3 - 1
mmse/src/main/res/layout/fragment_selected_item.xml

@@ -1,6 +1,8 @@
 <?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:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
 
     <data>
 

+ 4 - 4
moca/src/main/java/com/yingyangfly/moca/adapter/SelectedItemAdapter.kt

@@ -3,7 +3,7 @@ package com.yingyangfly.moca.adapter
 import android.annotation.SuppressLint
 import android.text.TextUtils
 import com.yingyang.moca.R
-import com.yingyang.moca.databinding.ItemSelectedItemBinding
+import com.yingyang.moca.databinding.ItemMocaSelectedItemBinding
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.setTextColorResource
@@ -11,15 +11,15 @@ import com.yingyangfly.baselib.ext.setTextColorResource
 /**
  * 单项选择adapter
  */
-class SelectedItemAdapter(override val layoutId: Int = R.layout.item_selected_item) :
-    BaseDataBindingAdapter<String, ItemSelectedItemBinding>() {
+class SelectedItemAdapter(override val layoutId: Int = R.layout.item_moca_selected_item) :
+    BaseDataBindingAdapter<String, ItemMocaSelectedItemBinding>() {
 
     var selectedData = ""
 
     var onSelectedItemClickListener: ((bean: String) -> Unit)? = null
 
     @SuppressLint("NotifyDataSetChanged")
-    override fun onBindViewHolder(binding: ItemSelectedItemBinding, item: String, position: Int) {
+    override fun onBindViewHolder(binding: ItemMocaSelectedItemBinding, item: String, position: Int) {
         binding.data = item
         if (TextUtils.equals(selectedData, item)) {
             binding.tvNumber.setBackgroundResource(R.drawable.bg_selected_item)

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

@@ -108,7 +108,12 @@ class NumberRecordsFragment : BaseFragment<FragmentNumberRecordsBinding>() {
             btnNext.setOnSingleClickListener {
                 when (questionId) {
                     72 -> {
-                        "判断星期".toast()
+                        val controller = Navigation.findNavController(it)
+                        val bundle = bundleOf("questionId" to 75)
+                        controller.navigate(
+                            R.id.action_numberRecordsFragment_to_weekFragment,
+                            bundle
+                        )
                     }
                     73, 74 -> {
                         questionId--

+ 138 - 0
moca/src/main/java/com/yingyangfly/moca/week/WeekFragment.kt

@@ -0,0 +1,138 @@
+package com.yingyangfly.moca.week
+
+import android.os.Bundle
+import androidx.core.os.bundleOf
+import androidx.navigation.Navigation
+import com.google.android.flexbox.FlexWrap
+import com.google.android.flexbox.FlexboxLayoutManager
+import com.google.android.flexbox.JustifyContent
+import com.yingyang.moca.R
+import com.yingyang.moca.databinding.FragmentWeekBinding
+import com.yingyangfly.baselib.base.BaseFragment
+import com.yingyangfly.baselib.db.QuestionsBean
+import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.moca.adapter.SelectedItemAdapter
+
+/**
+ * 星期选择
+ */
+class WeekFragment : BaseFragment<FragmentWeekBinding>() {
+
+    /**
+     * 原始问题id
+     */
+    var questionId = 0
+
+    var question: QuestionsBean? = null
+
+    private val itemList = mutableListOf<String>()
+    private val selectedAdapter by lazy { SelectedItemAdapter() }
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        questionId = arguments?.getInt("questionId") ?: 75
+        super.onCreate(savedInstanceState)
+    }
+
+    override fun initViews() {
+        binding {
+            val flexboxLayoutManager = FlexboxLayoutManager(mContext)
+            flexboxLayoutManager.flexWrap = FlexWrap.WRAP
+            flexboxLayoutManager.justifyContent = JustifyContent.CENTER
+            rvSelectedItem.layoutManager = flexboxLayoutManager
+            rvSelectedItem.adapter = selectedAdapter
+            selectedAdapter.onSelectedItemClickListener = { bean ->
+                if (question != null && dao != null) {
+                    question!!.inputString = bean
+                    question!!.reviewId = question!!.id
+                    question!!.reviewAnswer = getWeekInfo(bean)
+                    question!!.correct = ""
+                    dao?.update(question!!)
+                }
+            }
+        }
+    }
+
+    override fun initListener() {
+        binding {
+            btnPrevious.setOnSingleClickListener {
+                val controller = Navigation.findNavController(it)
+                val bundle = bundleOf("questionId" to 72)
+                controller.navigate(
+                    R.id.action_weekFragment_to_numberRecordsFragment,
+                    bundle
+                )
+            }
+
+            btnNext.setOnSingleClickListener {
+
+
+
+
+
+            }
+        }
+    }
+
+    override fun initData() {
+
+    }
+
+    override fun onResume() {
+        super.onResume()
+        loadData()
+    }
+
+    /**
+     * 获取题目数据
+     */
+    private fun loadData() {
+        if (dao != null) {
+            question = dao?.getQuestion(questionId)
+            if (question != null) {
+                binding.data = question
+                selectedAdapter.selectedData = question!!.inputString
+            }
+        }
+        itemList.clear()
+        itemList.add("星期一")
+        itemList.add("星期二")
+        itemList.add("星期三")
+        itemList.add("星期四")
+        itemList.add("星期五")
+        itemList.add("星期六")
+        itemList.add("星期日")
+        selectedAdapter.setData(itemList)
+    }
+
+    /**
+     * 转化格式
+     */
+    private fun getWeekInfo(str: String): String {
+        when (str) {
+            "星期一" -> {
+                return "1"
+            }
+            "星期二" -> {
+                return "2"
+            }
+            "星期三" -> {
+                return "3"
+            }
+            "星期四" -> {
+                return "4"
+            }
+            "星期五" -> {
+                return "5"
+            }
+            "星期六" -> {
+                return "6"
+            }
+            "星期日" -> {
+                return "7"
+            }
+            else -> {
+                return str
+            }
+        }
+    }
+}

+ 72 - 0
moca/src/main/res/layout/fragment_week.xml

@@ -0,0 +1,72 @@
+<?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">
+
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyangfly.baselib.db.QuestionsBean" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <TextView
+            android:id="@+id/tvTitle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_27px"
+            android:text="@{data.reviewItem}"
+            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.recyclerview.widget.RecyclerView
+            android:id="@+id/rvSelectedItem"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_128px"
+            android:layout_marginTop="@dimen/divider_82px"
+            android:layout_marginEnd="@dimen/divider_128px"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
+
+        <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>

+ 0 - 0
moca/src/main/res/layout/item_selected_item.xml → moca/src/main/res/layout/item_moca_selected_item.xml


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

@@ -201,6 +201,10 @@
             android:id="@+id/action_numberRecordsFragment_to_tipsFragment"
             app:destination="@id/tipsFragment" />
 
+        <action
+            android:id="@+id/action_numberRecordsFragment_to_weekFragment"
+            app:destination="@id/weekFragment" />
+
     </fragment>
 
     <fragment
@@ -291,4 +295,17 @@
             app:destination="@id/numberRecordsFragment" />
 
     </fragment>
+
+    <fragment
+        android:id="@+id/weekFragment"
+        android:name="com.yingyangfly.moca.week.WeekFragment"
+        android:label="weekFragment">
+
+        <action
+            android:id="@+id/action_weekFragment_to_numberRecordsFragment"
+            app:destination="@id/numberRecordsFragment" />
+
+    </fragment>
+
+
 </navigation>