Browse Source

1.优化代码

王鹏鹏 2 years ago
parent
commit
fbcfdbf49f

+ 1 - 0
.idea/misc.xml

@@ -572,6 +572,7 @@
         <entry key="..\:/workspace/hcp-pads/login/src/main/res/layout/activity_login.xml" value="0.4421768707482993" />
         <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/fragment_count.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/fragment_memory_words.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/fragment_multiple_choice.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/fragment_recognition_image.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/item_choice.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/mmse/src/main/res/layout/item_number.xml" value="0.23697916666666666" />

+ 88 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/CommonUtils.kt

@@ -0,0 +1,88 @@
+package com.hyphenate.easeui.utils
+
+import java.io.File
+
+/**
+ * 防止双击
+ * @author xiaoliu
+ */
+object CommonUtils {
+
+    // 两次点击按钮之间的点击间隔不能少于1000毫秒
+    private const val SHORT_MIN_CLICK_DELAY_TIME = 1000
+    private const val MIN_CLICK_DELAY_TIME = 1500
+    private var lastClickTime: Long = 0
+
+    val isFastClick: Boolean
+        get() {
+            var flag = false
+            val curClickTime = System.currentTimeMillis()
+            if (curClickTime - lastClickTime >= MIN_CLICK_DELAY_TIME) {
+                flag = true
+            }
+            lastClickTime = curClickTime
+            return flag
+        }
+    val isShortFastClick: Boolean
+        get() {
+            var flag = false
+            val curClickTime = System.currentTimeMillis()
+            if (curClickTime - lastClickTime >= SHORT_MIN_CLICK_DELAY_TIME) {
+                flag = true
+            }
+            lastClickTime = curClickTime
+            return flag
+        }
+
+    @JvmStatic
+    fun getCompanyUnit(company: String, num: String): String {
+        return if ("g" == company || "克" == company) "" else "共(" + num + "g)"
+    }
+
+    /**
+     * 删除目录及目录下的文件
+     */
+    fun deleteDirectory(dir: String): Boolean {
+        // 如果dir不以文件分隔符结尾,自动添加文件分隔符
+        var dir = dir
+        if (!dir.endsWith(File.separator)) dir += File.separator
+        val dirFile = File(dir)
+        // 如果dir对应的文件不存在,或者不是一个目录,则退出
+        if (!dirFile.exists() || !dirFile.isDirectory) {
+            return false
+        }
+        var flag = true
+        // 删除文件夹中的所有文件包括子目录
+        val files: Array<File> = dirFile.listFiles()
+        for (i in files.indices) {
+            // 删除子文件
+            if (files[i].isFile) {
+                flag = deleteFile(files[i].absolutePath)
+                if (!flag) break
+            } else if (files[i].isDirectory) {
+                flag = deleteDirectory(
+                    files[i].absolutePath
+                )
+                if (!flag) break
+            }
+        }
+        if (!flag) {
+            return false
+        }
+        // 删除当前目录
+        return dirFile.delete()
+    }
+
+    /**
+     * 删除单个文件
+     */
+    private fun deleteFile(fileName: String): Boolean {
+        val file = File(fileName)
+        // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
+        return if (file.exists() && file.isFile) {
+            file.delete()
+        } else {
+            false
+        }
+    }
+}

+ 9 - 1
mmse/src/main/java/com/yingyangfly/mmse/fragment/MultipleChoiceFragment.kt

@@ -6,6 +6,7 @@ import android.view.MotionEvent
 import android.view.View
 import androidx.core.os.bundleOf
 import androidx.navigation.Navigation
+import com.hyphenate.easeui.utils.CommonUtils
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.FragmentMultipleChoiceBinding
 import com.yingyangfly.baselib.base.BaseFragment
@@ -77,6 +78,11 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>(), Vi
      * 加载数据
      */
     private fun loadData() {
+        binding.btnNext.text = if (questionId == 19) {
+            "提交"
+        } else {
+            "继续"
+        }
         choiceItemList.clear()
         if (questionsDao != null) {
             val firstquestion = questionsDao?.getQuestion(questionId)
@@ -125,7 +131,9 @@ class MultipleChoiceFragment : BaseFragment<FragmentMultipleChoiceBinding>(), Vi
                 if (v.id == R.id.btnPrevious) {
                     pageUp(v)
                 } else if (v.id == R.id.btnNext) {
-                    pageNext(v)
+                    if (CommonUtils.isFastClick) {
+                        pageNext(v)
+                    }
                 }
             }
             MotionEvent.ACTION_CANCEL -> {