Forráskód Böngészése

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

王鹏鹏 2 éve
szülő
commit
54ce2a57f8

+ 11 - 5
mmse/src/main/java/com/yingyangfly/mmse/adapter/ChoiceAdapter.kt

@@ -1,24 +1,30 @@
 package com.yingyangfly.mmse.adapter
 
+import android.text.TextUtils
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.ItemChoiceBinding
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+import com.yingyangfly.baselib.db.QuestionsBean
 
 /**
  * 多选adapter
  */
 class ChoiceAdapter(override val layoutId: Int = R.layout.item_choice) :
-    BaseDataBindingAdapter<String, ItemChoiceBinding>() {
+    BaseDataBindingAdapter<QuestionsBean, ItemChoiceBinding>() {
 
-    var onNumClickListener: ((bean: String, type: String) -> Unit)? = null
+    var onNumClickListener: ((bean: QuestionsBean) -> Unit)? = null
 
-    override fun onBindViewHolder(binding: ItemChoiceBinding, item: String, position: Int) {
+    override fun onBindViewHolder(binding: ItemChoiceBinding, item: QuestionsBean, position: Int) {
         binding.data = item
+        binding.radioCorrect.isChecked = TextUtils.equals(item.inputString, "是")
+        binding.radioDeny.isChecked = TextUtils.equals(item.inputString, "否")
         binding.radioChoice.setOnCheckedChangeListener { group, checkedId ->
             if (checkedId == R.id.radioCorrect) {
-                onNumClickListener?.invoke(item, "是")
+                item.inputString = "是"
+                onNumClickListener?.invoke(item)
             } else if (checkedId == R.id.radioDeny) {
-                onNumClickListener?.invoke(item, "否")
+                item.inputString = "否"
+                onNumClickListener?.invoke(item)
             }
         }
     }

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

@@ -6,6 +6,7 @@ import androidx.navigation.Navigation
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.FragmentMultipleChoiceBinding
 import com.yingyangfly.baselib.base.BaseFragment
+import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.mmse.adapter.ChoiceAdapter
@@ -20,7 +21,7 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>() {
      */
     var questionId = 0
 
-    private val choiceItemList = mutableListOf<String>()
+    private val choiceItemList = mutableListOf<QuestionsBean>()
     private val adapter by lazy { ChoiceAdapter() }
 
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -28,17 +29,12 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>() {
         super.onCreate(savedInstanceState)
     }
 
-
     override fun initViews() {
         binding {
             rvChoice.adapter = adapter
-            adapter.onNumClickListener = { bean, type ->
+            adapter.onNumClickListener = { bean ->
                 if (dao != null) {
-                    val questionsBean = dao?.getQuestionByReviewItem(bean)
-                    if (questionsBean != null) {
-                        questionsBean.inputString = type
-                        dao?.update(questionsBean)
-                    }
+                    dao?.update(bean)
                 }
             }
         }
@@ -85,15 +81,15 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>() {
         if (dao != null) {
             val firstquestion = dao?.getQuestion(11)
             if (firstquestion != null) {
-                choiceItemList.add(firstquestion.reviewItem)
+                choiceItemList.add(firstquestion)
             }
             val secondQuestion = dao?.getQuestion(12)
             if (secondQuestion != null) {
-                choiceItemList.add(secondQuestion.reviewItem)
+                choiceItemList.add(secondQuestion)
             }
             val thirdQuestion = dao?.getQuestion(13)
             if (thirdQuestion != null) {
-                choiceItemList.add(thirdQuestion.reviewItem)
+                choiceItemList.add(thirdQuestion)
             }
         }
         adapter.setData(choiceItemList)

+ 2 - 2
mmse/src/main/res/layout/item_choice.xml

@@ -7,7 +7,7 @@
 
         <variable
             name="data"
-            type="java.lang.String" />
+            type="com.yingyangfly.baselib.db.QuestionsBean" />
     </data>
 
     <LinearLayout
@@ -23,7 +23,7 @@
             android:layout_marginStart="@dimen/divider_16px"
             android:background="@drawable/bg_choice_item"
             android:gravity="center_vertical"
-            android:text="@{data}"
+            android:text="@{data.reviewItem}"
             android:textColor="@color/txt_radio_color"
             android:textSize="@dimen/divider_24px"
             android:textStyle="bold" />