From 302d84f74b5221aca2df19be0181e77119ff5634 Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期五, 18 四月 2025 16:02:45 +0800
Subject: [PATCH] 1.日历热力图修改-样式优化
---
app/src/main/java/com/example/firstapp/activity/PickupActivity.kt | 88 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 74 insertions(+), 14 deletions(-)
diff --git a/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt b/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt
index d7dda6d..7270793 100644
--- a/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt
+++ b/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt
@@ -5,7 +5,8 @@
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
-import com.example.firstapp.adapter.ExpressPackageAdapter
+import com.example.firstapp.R
+import com.example.firstapp.adapter.PickupPackageAdapter
import com.example.firstapp.core.Core
import com.example.firstapp.databinding.ActivityPickupBinding
import com.example.firstapp.model.ExpressPackage
@@ -13,12 +14,31 @@
class PickupActivity : AppCompatActivity() {
private lateinit var binding: ActivityPickupBinding
- private lateinit var expressAdapter: ExpressPackageAdapter
+ private lateinit var expressAdapter: PickupPackageAdapter
+ private var stationIconResId = R.drawable.location // 默认图标
+
+
+ // 添加类型常量
+ companion object {
+ const val TYPE_EXPRESS = "express"
+ const val TYPE_REPAYMENT = "repayment"
+ const val TYPE_INCOME = "income"
+ const val TYPE_TRAIN = "train"
+ const val TYPE_FLIGHT = "flight"
+ }
+
+ private var pageType = TYPE_EXPRESS
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityPickupBinding.inflate(layoutInflater)
setContentView(binding.root)
+
+ // 获取页面类型
+ pageType = intent.getStringExtra("page_type") ?: TYPE_EXPRESS
+
+ stationIconResId = intent.getIntExtra("station_icon_res_id", R.drawable.location)
+
initViews()
loadData()
@@ -26,10 +46,10 @@
private fun initViews() {
// 初始化适配器,传入取件回调
- expressAdapter = ExpressPackageAdapter { pack ->
+ expressAdapter = PickupPackageAdapter { pack ->
handleSinglePickup(pack)
}
-
+
binding.rvPackages.apply {
layoutManager = LinearLayoutManager(this@PickupActivity)
adapter = expressAdapter
@@ -39,17 +59,43 @@
finish()
}
- // 修改底部按钮点击事件
- binding.btnPickupAll.setOnClickListener {
- showPickupConfirmDialog()
+ // 设置底部按钮文本并添加点击事件
+ binding.btnPickupAll.apply {
+ text = getButtonText()
+ setOnClickListener {
+ showPickupConfirmDialog()
+ }
}
+ // 设置驿站图标
+ binding.ivBack.setImageResource(stationIconResId)
+ }
+ private fun getConfirmMessage(): String {
+ return when (pageType) {
+ TYPE_EXPRESS -> "是否确认取出所有包裹?"
+ TYPE_REPAYMENT -> "是否确认处理所有还款?"
+ TYPE_INCOME -> "是否确认处理所有收入?"
+ TYPE_TRAIN -> "是否确认处理所有火车票?"
+ TYPE_FLIGHT -> "是否确认处理所有机票?"
+ else -> "是否确认处理所有项目?"
+ }
+ }
+
+ private fun getButtonText(): String {
+ return when (pageType) {
+ TYPE_EXPRESS -> "全部取件"
+ TYPE_REPAYMENT -> "全部还款"
+ TYPE_INCOME -> "全部收款"
+ TYPE_TRAIN -> "全部处理票务"
+ TYPE_FLIGHT -> "全部处理机票"
+ else -> "全部处理"
+ }
}
private fun showPickupConfirmDialog() {
AlertDialog.Builder(this)
- .setTitle("确认取件")
- .setMessage("是否确认取出所有包裹?")
+ .setTitle(getButtonText())
+ .setMessage(getConfirmMessage())
.setPositiveButton("确认") { _, _ ->
handlePickupAll()
}
@@ -84,7 +130,7 @@
// 清空列表
expressAdapter.submitList(emptyList())
// 更新包裹数量显示
- binding.tvPackageCount.text = "共0个包裹"
+ binding.tvPackageCount.text = getCountText(0)
// 通知MainActivity刷新
setResult(RESULT_OK)
} catch (e: Exception) {
@@ -95,10 +141,21 @@
}
}
+ private fun getCountText(count: Int): String {
+ return when (pageType) {
+ TYPE_EXPRESS -> "共${count}个包裹"
+ TYPE_REPAYMENT -> "共${count}笔还款"
+ TYPE_INCOME -> "共${count}笔收入"
+ TYPE_TRAIN -> "共${count}张车票"
+ TYPE_FLIGHT -> "共${count}张机票"
+ else -> "共${count}个"
+ }
+ }
+
private fun loadData() {
val stationName = intent.getStringExtra("station_name") ?: ""
val company = intent.getStringExtra("company") ?: ""
-
+
lifecycleScope.launch {
val codes = Core.code.getByKeyword(stationName)
val packages = codes.map { code ->
@@ -109,10 +166,13 @@
createTime = code.createTime
)
}
-
+
expressAdapter.submitList(packages)
binding.tvStationName.text = stationName
- binding.tvPackageCount.text = "共${packages.size}个包裹"
+ binding.tvPackageCount.text = getCountText(packages.size)
+
+ // 根据PageType设置适配器的CompanyLogo处理逻辑
+ expressAdapter.setPageType(pageType)
}
}
-}
\ No newline at end of file
+}
\ No newline at end of file
--
Gitblit v1.9.3