From a35b137e33427e2456c35824c33e13e038fe7a48 Mon Sep 17 00:00:00 2001 From: chenglifeng Date: Wed, 6 Nov 2024 13:30:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=93=E7=94=A8=E6=8E=A7=E5=88=B6=E7=BD=91?= =?UTF-8?q?=EF=BC=8C=E6=A0=B9=E6=8D=AE=E5=90=8D=E7=A7=B0=E5=92=8C=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/SpecialControlNetworkVersionBean.kt | 16 ++-- .../SpecialControlNetworkActivity.kt | 35 +++++--- .../activity_special_control_network.xml | 82 ++++++++++++------- 3 files changed, 87 insertions(+), 46 deletions(-) diff --git a/app/src/main/java/com/project/survey/model/SpecialControlNetworkVersionBean.kt b/app/src/main/java/com/project/survey/model/SpecialControlNetworkVersionBean.kt index 4e7bdd0..e3df3e9 100644 --- a/app/src/main/java/com/project/survey/model/SpecialControlNetworkVersionBean.kt +++ b/app/src/main/java/com/project/survey/model/SpecialControlNetworkVersionBean.kt @@ -2,11 +2,15 @@ package com.project.survey.model import androidx.annotation.Keep +/** + * { + * "version_array": "2024102806,2024102807", + * "$TABLE_CODE$": null, + * "KZW_NAME": "专用" + * } + */ @Keep data class SpecialControlNetworkVersionBean( - val version_array: String -) { - override fun toString(): String { - return version_array - } -} + val version_array: String, //版本号数组 + val KZW_NAME: String //控制网名称 +) diff --git a/app/src/main/java/com/project/survey/ui/controlnet/SpecialControlNetworkActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/SpecialControlNetworkActivity.kt index 5317ad1..5995617 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/SpecialControlNetworkActivity.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/SpecialControlNetworkActivity.kt @@ -34,7 +34,8 @@ class SpecialControlNetworkActivity : private val adapter by lazy { SpecialControlNetworkAdapter() } private var currentPage = 1 private var currentVersion: String? = null - private var searchContent: String? = null // 搜索框里的内容 + private var currentName: String? = null // 控制网名称 + private var versionList = ArrayList() override fun initView() { immersionToolbar(mBinding.toolbar, R.string.dedicated_control_network) @@ -51,9 +52,12 @@ class SpecialControlNetworkActivity : } // 版本号列表 viewModel.specialControlNetworkVersionResponse.observe(this) { - val list = arrayListOf(SpecialControlNetworkVersionBean("版本号")) - list.addAll(it) - mBinding.spinner.setItems(list) + versionList.addAll(it) + versionList.add(0, SpecialControlNetworkVersionBean("版本号", "控制网名称")) + mBinding.spinnerName.setItems(versionList.map { v -> v.KZW_NAME }) + + val versionList = versionList[0].version_array.split(",").toList() + mBinding.spinnerVersion.setItems(versionList) } viewModel.controlNetworkListResponse.observe(this) { mBinding.smartRefreshLayout.smartDismiss() @@ -90,17 +94,26 @@ class SpecialControlNetworkActivity : } override fun initListener() { - // 搜索 - mBinding.searchWidget.setOnEditorSearchListener { - searchContent = it.ifBlank { null } + // 控制网名称 + mBinding.spinnerName.setOnItemSelectedListener { view, position, id, item -> + val bean = item as String + currentName = if ("控制网名称" == bean) null else bean + + val versionList = versionList[position].version_array.split(",").toList() + mBinding.spinnerVersion.setItems(versionList) + currentVersion = if ("控制网名称" == bean) + null + else { + if (versionList.isEmpty()) null else versionList[0].toString() + } currentPage = 1 fetchData() } // 版本号 - mBinding.spinner.setOnItemSelectedListener { _, _, _, item -> - val versionBean = item as SpecialControlNetworkVersionBean + mBinding.spinnerVersion.setOnItemSelectedListener { _, _, _, item -> + val version = item as String currentVersion = - if ("版本号" == versionBean.version_array) null else versionBean.version_array + if ("版本号" == version) null else version currentPage = 1 fetchData() } @@ -112,7 +125,7 @@ class SpecialControlNetworkActivity : } private fun fetchData() { - viewModel.fetchSpecialControlNetworkList(searchContent, currentVersion, currentPage) + viewModel.fetchSpecialControlNetworkList(currentName, currentVersion, currentPage) } override fun onRefresh(refreshLayout: RefreshLayout) { diff --git a/app/src/main/res/layout/activity_special_control_network.xml b/app/src/main/res/layout/activity_special_control_network.xml index 219f147..5add140 100644 --- a/app/src/main/res/layout/activity_special_control_network.xml +++ b/app/src/main/res/layout/activity_special_control_network.xml @@ -25,51 +25,75 @@ - + + + + + + + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_marginEnd="@dimen/sw_4dp" + android:layout_weight="1"> - + android:background="@drawable/bg_search_shadow_2" /> - - + android:layout_height="match_parent" + android:layout_marginStart="@dimen/sw_4dp" + android:layout_weight="1"> + + + + + + + + + + + + + + + + + + + + + + + + +