From 05c5fe79320ca9fc60163eb45c6828400674315e Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Mon, 25 May 2026 16:08:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(utils):=20=E8=A7=A3=E5=86=B3=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E8=BD=AC=E6=8D=A2=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改DecimalAdapter中字符串转double的逻辑,使用安全转换避免崩溃 - 更新PrepareCookActivity中重量验证逻辑,使用安全转换处理无效输入 - 防止因无效数字格式导致的应用崩溃问题 --- .../main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt | 2 +- app/src/main/java/com/shuwei/dish/match/utils/DecimalAdapter.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt index e7bb603..f8124f4 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt @@ -98,7 +98,7 @@ class PrepareCookActivity : BaseActivity() { return@setOnClickListener } } - val weight = binding.tvDishPartWeight.text.toString().toDouble() + val weight = binding.tvDishPartWeight.text.toString().toDoubleOrNull() ?:0.toDouble() if (weight <= 0.toDouble()) { toast("食材用量需要大于0") return@setOnClickListener diff --git a/app/src/main/java/com/shuwei/dish/match/utils/DecimalAdapter.kt b/app/src/main/java/com/shuwei/dish/match/utils/DecimalAdapter.kt index 7395bda..b939ed3 100644 --- a/app/src/main/java/com/shuwei/dish/match/utils/DecimalAdapter.kt +++ b/app/src/main/java/com/shuwei/dish/match/utils/DecimalAdapter.kt @@ -14,7 +14,7 @@ class DecimalAdapter : TypeAdapter() { override fun read(reader: JsonReader): Number { return when (reader.peek()) { JsonToken.NUMBER -> reader.nextDouble() - JsonToken.STRING -> reader.nextString().toDouble() + JsonToken.STRING -> reader.nextString().toDoubleOrNull() ?: 0.0 else -> 0.0 } }