cloudroam
2025-03-14 e98e5ebf6a786a778249e09028782f90fd601f92
app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
@@ -52,6 +52,7 @@
        //调用这个方法来设置 RecyclerView用于设置 RecyclerView 的布局和适配器。
        setupRecyclerViews()
        setupTabSwitching()
        //调用这个方法来观察 ViewModel 中的数据变化
        observeViewModelData()
    }
@@ -102,6 +103,51 @@
//        }
    }
    private fun setupTabSwitching() {
        binding.apply {
            // 设置初始状态
            tabExpress.setTextColor(ContextCompat.getColor(requireContext(), R.color.tab_selected))
            tabFinance.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
            others.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
            // 快递标签点击事件
            tabExpress.setOnClickListener {
                expressContent.visibility = View.VISIBLE
                financeContent.visibility = View.GONE
                tabExpress.setTextColor(ContextCompat.getColor(requireContext(), R.color.tab_selected))
                tabFinance.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
                others.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
                tabExpress.textSize = 16f
                tabFinance.textSize = 14f
                others.textSize = 14f
            }
            // 财务标签点击事件
            tabFinance.setOnClickListener {
                expressContent.visibility = View.GONE
                financeContent.visibility = View.VISIBLE
                tabExpress.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
                tabFinance.setTextColor(ContextCompat.getColor(requireContext(), R.color.tab_selected))
                others.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
                tabExpress.textSize = 14f
                tabFinance.textSize = 16f
                others.textSize = 14f
            }
            // 其他标签点击事件
            others.setOnClickListener {
                expressContent.visibility = View.GONE
                financeContent.visibility = View.GONE
                tabExpress.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
                tabFinance.setTextColor(ContextCompat.getColor(requireContext(), R.color.gray))
                others.setTextColor(ContextCompat.getColor(requireContext(), R.color.tab_selected))
                tabExpress.textSize = 14f
                tabFinance.textSize = 14f
                others.textSize = 16f
            }
        }
    }
    //这个方法用于观察 homeViewModel 中的 expressItems 数据。
    private fun observeViewModelData() {
        //当 expressItems 数据发生变化时,更新 RecyclerView 的数据。