From f67cf3b81a00f732ca743431258ae6b78f5f40ab Mon Sep 17 00:00:00 2001 From: tj <1378534974@qq.com> Date: 星期四, 17 四月 2025 15:05:28 +0800 Subject: [PATCH] 11、我的 切换头像 点击切换头像没有显示允许存储权限的窗口,华为的手机目前有 49、首页 实时刷新 点击全部取件或其他分类后,回到上一层,内容没有刷新(5个分类) 52、数据统计 数据统计 1.周月年的柱状图统计逻辑需要修改为只统计快递类的数据 2.按年的图形统计,右下方加上图示说明 53、首页 首页登录 点击用户协议、隐私政策无反应 --- app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt | 67 +++++++++++++++++++-------------- 1 files changed, 39 insertions(+), 28 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..d86a5c4 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 @@ -122,6 +124,7 @@ } } + private fun setupAdapters() { binding.expressRecycler.apply { layoutManager = LinearLayoutManager(context) @@ -185,16 +188,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) + } } } @@ -414,9 +439,16 @@ ) // 加载数据 - homeViewModel.loadExpressData() + homeViewModel.loadAllCategoryData() +// homeViewModel.loadExpressData() +// homeViewModel.loadFinanceData() +// homeViewModel.loadIncomeData() +// homeViewModel.loadFlightData() +// homeViewModel.loadTrainData() + // 检查未读提醒数量 homeViewModel.checkUnreadReminders() + } override fun onPause() { @@ -538,29 +570,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