feiyu02
2020-09-01 43242c8e7915b968bb7a6f3f22bded7704f0e40f
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) }
    }
}