Selaa lähdekoodia

1.添加获取moca试题库module

王鹏鹏 2 vuotta sitten
vanhempi
commit
1b7b5e8d1a

+ 1 - 0
.idea/misc.xml

@@ -153,6 +153,7 @@
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_number.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_selected_item.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_speak_result.xml" value="0.8" />
+        <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_tips.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_verify_answers.xml" value="0.8" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_center.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_common_head_layout.xml" value="0.219" />

+ 32 - 0
moca/src/main/java/com/yingyangfly/moca/adapter/TipsAdapter.kt

@@ -0,0 +1,32 @@
+package com.yingyangfly.moca.adapter
+
+import android.text.TextUtils
+import com.yingyang.moca.R
+import com.yingyang.moca.databinding.ItemTipsBinding
+import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+import com.yingyangfly.baselib.db.QuestionsBean
+
+class TipsAdapter (override val layoutId: Int = R.layout.item_tips) :
+    BaseDataBindingAdapter<QuestionsBean, ItemTipsBinding>() {
+
+    var onCheckClickListener: ((bean: QuestionsBean) -> Unit)? = null
+
+    override fun onBindViewHolder(binding: ItemTipsBinding, 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 ->
+            item.reviewId = item.id
+            item.reviewAnswer = ""
+            if (checkedId == R.id.radioCorrect) {
+                item.inputString = "是"
+                item.correct = "1"
+                onCheckClickListener?.invoke(item)
+            } else if (checkedId == R.id.radioDeny) {
+                item.inputString = "否"
+                item.correct = "0"
+                onCheckClickListener?.invoke(item)
+            }
+        }
+    }
+}

+ 8 - 1
moca/src/main/java/com/yingyangfly/moca/singlechoice/SingleChoiceFragment.kt

@@ -1,8 +1,10 @@
 package com.yingyangfly.moca.singlechoice
 
 import android.os.Bundle
+import android.util.Log
 import androidx.core.os.bundleOf
 import androidx.navigation.Navigation
+import com.alibaba.fastjson.JSON
 import com.yingyang.moca.R
 import com.yingyang.moca.databinding.FragmentSingleChoiceBinding
 import com.yingyangfly.baselib.base.BaseFragment
@@ -84,7 +86,12 @@ class SingleChoiceFragment : BaseFragment<FragmentSingleChoiceBinding>() {
                             loadData()
                         }
                         76 -> {
-                            "提交信息".toast()
+
+
+
+
+
+
                         }
                         else -> {
                             val controller = Navigation.findNavController(it)

+ 3 - 2
moca/src/main/java/com/yingyangfly/moca/tips/TipsFragment.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.TipsAdapter
 
 /**
  * 特别提示
@@ -21,7 +22,7 @@ class TipsFragment : BaseFragment<FragmentTipsBinding>() {
      */
     private var questionId = 0
     private val choiceItemList = mutableListOf<QuestionsBean>()
-    private val adapter by lazy { ChoiceAdapter() }
+    private val adapter by lazy { TipsAdapter() }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         questionId = arguments?.getInt("questionId") ?: 67
@@ -31,7 +32,7 @@ class TipsFragment : BaseFragment<FragmentTipsBinding>() {
     override fun initViews() {
         binding {
             rvChoice.adapter = adapter
-            adapter.onNumClickListener = {
+            adapter.onCheckClickListener = {
                 if (dao != null) {
                     dao?.update(it)
                 }

+ 86 - 0
moca/src/main/res/layout/item_tips.xml

@@ -0,0 +1,86 @@
+<?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="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/divider_24px"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tvTitle"
+            android:layout_width="@dimen/divider_260px"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_16px"
+            android:paddingStart="@dimen/divider_17px"
+            android:paddingEnd="@dimen/divider_17px"
+            android:text="@{data.reviewItem}"
+            android:textColor="@color/txt_radio_color"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="@dimen/divider_260px"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_16px"
+            android:layout_marginTop="@dimen/divider_8px"
+            android:paddingStart="@dimen/divider_17px"
+            android:paddingEnd="@dimen/divider_17px"
+            android:text="@{data.reviewType}"
+            android:textColor="@color/txt_radio_color"
+            android:textSize="@dimen/divider_18px"
+            android:textStyle="bold"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
+
+
+        <RadioGroup
+            android:id="@+id/radioChoice"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:orientation="horizontal"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/tvTitle"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <RadioButton
+                android:id="@+id/radioCorrect"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_marginStart="@dimen/divider_20px"
+                android:background="@drawable/selector_questions_choice"
+                android:button="@null"
+                android:text="@string/correct"
+                android:textColor="@color/txt_radio_color"
+                android:textSize="@dimen/divider_24px"
+                android:textStyle="bold" />
+
+            <RadioButton
+                android:id="@+id/radioDeny"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_marginStart="@dimen/divider_12px"
+                android:layout_marginEnd="@dimen/divider_19px"
+                android:background="@drawable/selector_questions_choice"
+                android:button="@null"
+                android:text="@string/deny"
+                android:textColor="@color/txt_radio_color"
+                android:textSize="@dimen/divider_24px"
+                android:textStyle="bold" />
+
+        </RadioGroup>
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>