From 66a4a5c3aa78869a3c51e79f2a6a610c99016c24 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 16 四月 2025 08:45:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt | 57 ++++++++++++++++++++++++++++++---------------------------
1 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt b/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
index 65bf96a..03440a8 100644
--- a/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
+++ b/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
@@ -22,6 +22,8 @@
import com.example.firstapp.adapter.FinanceAdapter
import com.example.firstapp.adapter.CategorySelectorAdapter
import com.example.firstapp.adapter.IncomeAdapter
+import com.example.firstapp.adapter.TrainAdapter
+import com.example.firstapp.adapter.FlightAdapter
import com.example.firstapp.database.service.RetrofitClient
import com.example.firstapp.databinding.FragmentHomeBinding
import com.example.firstapp.databinding.DialogCategorySelectorBinding
@@ -45,8 +47,8 @@
private lateinit var expressAdapter: ExpressAdapter
private lateinit var financeAdapter: FinanceAdapter
private lateinit var incomeAdapter: IncomeAdapter
- private lateinit var flightAdapter: FinanceAdapter
- private lateinit var trainAdapter: FinanceAdapter
+ private lateinit var flightAdapter: FlightAdapter
+ private lateinit var trainAdapter: TrainAdapter
private lateinit var dataUpdateReceiver: BroadcastReceiver
private lateinit var reminderUpdateReceiver: BroadcastReceiver
private var reminderBadge: TextView? = null
@@ -185,16 +187,38 @@
binding.flightRecycler.apply {
layoutManager = LinearLayoutManager(context)
- flightAdapter = FinanceAdapter()
+ flightAdapter = FlightAdapter()
adapter = flightAdapter
visibility = View.GONE
+
+ // 设置点击监听
+ flightAdapter.setOnPackageClickListener { group, pack ->
+ // 跳转到航班处理页面
+ val intent = Intent(requireContext(), PickupActivity::class.java).apply {
+ putExtra("station_name", group.stationName)
+ putExtra("company", pack.company)
+ putExtra("page_type", PickupActivity.TYPE_FLIGHT)
+ }
+ startActivity(intent)
+ }
}
binding.trainRecycler.apply {
layoutManager = LinearLayoutManager(context)
- trainAdapter = FinanceAdapter()
+ trainAdapter = TrainAdapter()
adapter = trainAdapter
visibility = View.GONE
+
+ // 设置点击监听
+ trainAdapter.setOnPackageClickListener { group, pack ->
+ // 跳转到火车票页面
+ val intent = Intent(requireContext(), PickupActivity::class.java).apply {
+ putExtra("station_name", group.stationName)
+ putExtra("company", pack.company)
+ putExtra("page_type", PickupActivity.TYPE_TRAIN)
+ }
+ startActivity(intent)
+ }
}
}
@@ -538,29 +562,8 @@
// 添加设置未读提醒徽章的方法
private fun setupUnreadBadge() {
- // 创建未读消息数量的小红点
- reminderBadge = TextView(requireContext()).apply {
- setBackgroundResource(R.drawable.circle_badge_background)
- setTextColor(Color.WHITE)
- gravity = Gravity.CENTER
- textSize = 10f
- minWidth = resources.getDimensionPixelSize(R.dimen.badge_min_width)
- minHeight = resources.getDimensionPixelSize(R.dimen.badge_min_height)
- setPadding(4, 0, 4, 0)
- }
-
- // 添加到布局中
- val parentView = binding.reminderButton.parent as? ViewGroup
- parentView?.addView(reminderBadge)
-
- // 调整位置到提醒按钮右上角
- (reminderBadge?.layoutParams as? FrameLayout.LayoutParams)?.apply {
- gravity = Gravity.TOP or Gravity.END
- width = 48 // 使用固定像素值
- height = 48 // 使用固定像素值
- // 设置位置偏移,使小红点位于图标右上角
- setMargins(0, 0, 0, 0)
- }
+ // 直接使用布局中定义的小红点
+ reminderBadge = binding.reminderBadge
}
// 更新未读提醒徽章
--
Gitblit v1.9.3