From 43242c8e7915b968bb7a6f3f22bded7704f0e40f Mon Sep 17 00:00:00 2001
From: feiyu02 <feiyu02@163.com>
Date: 星期二, 01 九月 2020 09:55:06 +0800
Subject: [PATCH] 1. 修复问题修改界面问题子项无法显示为原纪录的问题

---
 app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuProblemUpdateActivity.kt |   50 ++++++++++++++++++++++++++------------------------
 1 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuProblemUpdateActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuProblemUpdateActivity.kt
index b8e0011..c72805a 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuProblemUpdateActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuProblemUpdateActivity.kt
@@ -37,6 +37,13 @@
 
         tv_dialog_take_evidence_title.text = "闂淇敼"
 
+        sp_take_evidence_select_problem_type.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
+            override fun onNothingSelected(parent: AdapterView<*>?) = Unit
+            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
+
+            }
+        }
+
         fab_take_evidence_ok.setOnClickListener {
             val now = Date()
             if (now.time - submitTime >= 1000) {
@@ -84,7 +91,6 @@
                             if (pt.guid == problemTypeId) {
                                 problemType = entry.key
                                 originProblemName = pt.name
-                                setSelectListener()
                                 return@breaking
                             }
                         }
@@ -93,6 +99,7 @@
                 for (i in viewModel.problemFatherType.value?.indices ?: 0..0) {
                     if (viewModel.problemFatherType.value?.get(i) == problemType) {
                         sp_take_evidence_select_problem_type.setSelection(i)
+                        onProblemTypeSelected(i)
                         break
                     }
                 }
@@ -224,31 +231,26 @@
         viewModel.deleteMediaFile(deleteMediaFileList)
     }
 
-    private fun setSelectListener() {
-        sp_take_evidence_select_problem_type.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
-            override fun onNothingSelected(parent: AdapterView<*>?) = Unit
-            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
-                val problemType = viewModel.problemFatherType.value?.get(position)
-                viewModel.refreshProblems(problemType)
+    private fun onProblemTypeSelected(position: Int) {
+        val problemType = viewModel.problemFatherType.value?.get(position)
+        viewModel.refreshProblems(problemType)
 
-                viewModel.problemFatherType.value?.let {
-                    if (it[position] == "鎬佸害") {
-                        updateUIByProblemType(View.GONE)
-                    } else {
-                        updateUIByProblemType(View.VISIBLE)
-                    }
-                }
-
-                val problemNameList = viewModel.problemMap[problemType] ?: arrayListOf()
-                for (i in problemNameList.indices) {
-                    if (problemNameList[i].name == originProblemName) {
-                        sp_take_evidence_select_problem.setSelection(i)
-                        break
-                    }
-                }
-
-                viewModel.problemType.value?.get(0)?.guid?.let { viewModel.getSuggestionList(it) }
+        viewModel.problemFatherType.value?.let {
+            if (it[position] == "鎬佸害") {
+                updateUIByProblemType(View.GONE)
+            } else {
+                updateUIByProblemType(View.VISIBLE)
             }
         }
+
+        val problemNameList = viewModel.problemMap[problemType] ?: arrayListOf()
+        for (i in problemNameList.indices) {
+            if (problemNameList[i].name == originProblemName) {
+                sp_take_evidence_select_problem.setSelection(i)
+                break
+            }
+        }
+
+        viewModel.problemType.value?.get(0)?.guid?.let { viewModel.getSuggestionList(it) }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3