From 2a117297daf83b2e1a104603e9641226d5beeba3 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期二, 04 三月 2025 10:41:38 +0800 Subject: [PATCH] fix: 按天统计相关逻辑 --- app/src/main/java/com/example/firstapp/adapter/PackageAdapter.kt | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 38 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/example/firstapp/adapter/PackageAdapter.kt b/app/src/main/java/com/example/firstapp/adapter/PackageAdapter.kt index 4abce71..21edc63 100644 --- a/app/src/main/java/com/example/firstapp/adapter/PackageAdapter.kt +++ b/app/src/main/java/com/example/firstapp/adapter/PackageAdapter.kt @@ -7,20 +7,23 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.example.firstapp.R -import com.example.firstapp.model.PackageInfo +import com.example.firstapp.database.entity.Code +import java.text.ParseException import java.text.SimpleDateFormat +import java.util.Date import java.util.Locale class PackageAdapter : RecyclerView.Adapter<PackageAdapter.PackageViewHolder>() { - private var packages = listOf<PackageInfo>() + private var packages = listOf<Code>() - fun updatePackages(newPackages: List<PackageInfo>) { + fun updatePackages(newPackages: List<Code>) { packages = newPackages notifyDataSetChanged() } + //此处是渲染数据 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PackageViewHolder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.item_package_dashboard, parent, false) @@ -38,13 +41,39 @@ private val textCourierName: TextView = view.findViewById(R.id.text_courier_name) private val textTrackingNumber: TextView = view.findViewById(R.id.text_tracking_number) private val textTime: TextView = view.findViewById(R.id.text_time) + private val textPickTime: TextView = view.findViewById(R.id.text_pick_time) - fun bind(packageInfo: PackageInfo) { - imgCourier.setImageResource(packageInfo.courierIcon) - textCourierName.text = packageInfo.courierName - textTrackingNumber.text = packageInfo.trackingNumber - textTime.text = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault()) - .format(packageInfo.receivedTime) + fun bind(code: Code) { +// imgCourier.setImageResource(code.category) + textCourierName.text = code.type + textTrackingNumber.text = code.code + // 步骤1:定义解析器,将字符串转为 Date + val parser = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()) + val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault()) + try { + val date: Date? = parser.parse(code.createtime) // 解析字符串 + date?.let { + textTime.text = "到货:"+formatter.format(it) // 格式化并赋值 + } ?: run { + // 处理解析失败(date 为 null 的情况) + textTime.text = "Invalid Date" + } + } catch (e: ParseException) { + e.printStackTrace() + textTime.text = "Format Error" + } + try { + val date2: Date? = parser.parse(code.pickuptime) // 解析字符串 + date2?.let { + textPickTime.text = "取件:"+formatter.format(it) // 格式化并赋值 + } ?: run { + textPickTime.text = "未取件" + } + } catch (e: ParseException) { + e.printStackTrace() + textPickTime.text = "未取件" + } + } } } -- Gitblit v1.9.3