From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期四, 24 四月 2025 10:45:55 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/dialog/ChooseBirthDialog.kt |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/dialog/ChooseBirthDialog.kt b/app/src/main/java/com/sinata/xqmuse/dialog/ChooseBirthDialog.kt
index 83a5e85..ce43568 100644
--- a/app/src/main/java/com/sinata/xqmuse/dialog/ChooseBirthDialog.kt
+++ b/app/src/main/java/com/sinata/xqmuse/dialog/ChooseBirthDialog.kt
@@ -17,6 +17,8 @@
     private val years = arrayListOf<Int>()
     private val months = arrayListOf<Int>()
 
+    private val data by lazy { arguments?.getString("data") }
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
@@ -42,11 +44,11 @@
         wv_4.gone()
         wv_5.gone()
 
-        setYear()
+        setYear(true)
         setMonth(true)
         setDay(true)
 
-        wv_1.setOnWheelViewListener { _, item ->
+        wv_1.setOnWheelViewListener { _, _ ->
             setMonth()
             setDay()
         }
@@ -58,18 +60,22 @@
             dismiss()
         }
         tv_action.setOnClickListener {
-            callback?.onOk("%s.%s.%s".format(wv_1.seletedItem,wv_2.seletedItem,wv_3.seletedItem))
+            callback?.onOk("%s-%s-%s".format(wv_1.seletedItem,wv_2.seletedItem,wv_3.seletedItem))
             dismiss()
         }
     }
 
-    private fun setYear() {
+    private fun setYear(isFirst:Boolean = false) {
         val year = Calendar.getInstance().get(Calendar.YEAR)
-        years.addAll((1970..year))
+        years.addAll((1960..year))
         wv_1.setItems(years.map {
             it.toString()
         })
-        wv_1.setSeletion(years.lastIndex)
+        if (isFirst && !data.isNullOrEmpty()){
+            wv_1.setSeletion(years.indexOf(data!!.split("-")[0].toInt()))
+
+        }else
+            wv_1.setSeletion(years.lastIndex)
     }
 
     private fun setMonth(isFirst:Boolean = false) {
@@ -81,7 +87,12 @@
             String.format("%02d",it)
         }
         wv_2.setItems(list)
-        wv_2.setSeletion(if (isFirst) list.lastIndex else 0)
+        wv_2.setSeletion(if (isFirst){
+            if (!data.isNullOrEmpty())
+                months.indexOf(data!!.split("-")[1].toInt())
+            else
+                list.lastIndex
+        } else 0)
     }
 
     private fun setDay(isFirst:Boolean = false) {
@@ -95,7 +106,12 @@
             String.format("%02d",it)
         }
         wv_3.setItems(list)
-        wv_3.setSeletion(if (isFirst) list.lastIndex else 0)
+        wv_3.setSeletion(if (isFirst){
+            if (!data.isNullOrEmpty())
+                list.indexOf(data!!.split("-")[2])
+            else
+                list.lastIndex
+        } else 0)
     }
 
     interface Callback {

--
Gitblit v1.7.1