From e5a090685df3d5e96a37b141d9a1d002d36f16f2 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 14 二月 2025 16:53:43 +0800
Subject: [PATCH] 1.web地图添加管网显示。 2.安卓原生添加管网信息的获取。 3.安卓原生添加管网信息的本地持久化(SQLite数据库)。 4.实现图例用户的选择状态按钮的持久化。 5.实现自定义搜索按钮的实现。 6.实现搜索后弹出界面的相关功能开发。
---
expand_button/src/main/java/com/example/expand_button/ExpandButton.kt | 57 +++++++++++++++++++--------------------------------------
1 files changed, 19 insertions(+), 38 deletions(-)
diff --git a/expand_button/src/main/java/com/example/expand_button/ExpandButton.kt b/expand_button/src/main/java/com/example/expand_button/ExpandButton.kt
index 3671c76..007713c 100644
--- a/expand_button/src/main/java/com/example/expand_button/ExpandButton.kt
+++ b/expand_button/src/main/java/com/example/expand_button/ExpandButton.kt
@@ -499,49 +499,20 @@
fun setButtonId(id: String) {
this.buttonId = id
// 鍔犺浇淇濆瓨鐨勭姸鎬�
- loadStates()
+
}
- /**
- * 淇濆瓨鎵�鏈夊浘渚嬮」鐨勭姸鎬�
- */
- private fun saveStates() {
- val prefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
- val states = legendItems.map { it.isSelected }
- prefs.edit().putString("${KEY_LEGEND_STATES}_$buttonId", states.joinToString(",")).apply()
- }
-
- /**
- * 鍔犺浇淇濆瓨鐨勭姸鎬�
- */
- private fun loadStates() {
- val prefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
- val savedStates = prefs.getString("${KEY_LEGEND_STATES}_$buttonId", null)
-
- if (savedStates != null && legendItems.isNotEmpty()) {
- val states = savedStates.split(",").map { it.toBoolean() }
- states.forEachIndexed { index, state ->
- if (index < legendItems.size) {
- legendItems[index].isSelected = state
- }
- }
- invalidate()
- }
- }
/**
* 璁剧疆鍥句緥鍐呭
*/
@JvmName("setLegendsList")
- fun setLegends(items: List<Triple<Drawable, Drawable, String>>) {
- legendItems = items.map { (selectedIcon, unselectedIcon, description) ->
+ fun setLegends(items: List<Quadruple<Drawable, Drawable, String, Boolean>>) {
+ legendItems = items.map { (selectedIcon, unselectedIcon, description, isSelected) ->
selectedIcon.setBounds(0, 0, iconSize, iconSize)
unselectedIcon.setBounds(0, 0, iconSize, iconSize)
- LegendItem(selectedIcon, unselectedIcon, description)
+ LegendItem(selectedIcon, unselectedIcon, description, isSelected)
}
-
- // 鍔犺浇淇濆瓨鐨勭姸鎬�
- loadStates()
if (!isExpanded) {
text = collapsedText
@@ -553,8 +524,21 @@
// 娣诲姞涓�涓� Java 鍙嬪ソ鐨勬柟娉�
@JvmName("setLegendsArray")
- fun setLegends(vararg items: Triple<Drawable, Drawable, String>) {
+ fun setLegends(vararg items: Quadruple<Drawable, Drawable, String, Boolean>) {
setLegends(items.toList())
+ }
+
+ // 娣诲姞涓�涓暟鎹被鏉ヨ〃绀哄洓鍏冪粍
+ data class Quadruple<A, B, C, D>(
+ val first: A,
+ val second: B,
+ val third: C,
+ val fourth: D
+ )
+
+ // 娣诲姞涓�涓究鎹风殑鎵╁睍鍑芥暟鏉ュ垱寤� Quadruple
+ fun <A, B, C, D> quadrupleOf(first: A, second: B, third: C, fourth: D): Quadruple<A, B, C, D> {
+ return Quadruple(first, second, third, fourth)
}
/**
@@ -635,10 +619,7 @@
index,
legendItems[index].isSelected
)
-
- // 淇濆瓨鐘舵��
- saveStates()
-
+
invalidate()
}
--
Gitblit v1.8.0