zhujie
2025-04-03 fe04012057d024770e0180543483d393281a542f
app/src/main/java/com/example/firstapp/activity/PickupActivity.kt
@@ -14,11 +14,23 @@
class PickupActivity : AppCompatActivity() {
    private lateinit var binding: ActivityPickupBinding
    private lateinit var expressAdapter: ExpressPackageAdapter
    // 添加类型常量
    companion object {
        const val TYPE_EXPRESS = "express"
        const val TYPE_REPAYMENT = "repayment"
        const val TYPE_INCOME = "income"
    }
    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
        initViews()
        loadData()
@@ -39,17 +51,37 @@
            finish()
        }
        // 修改底部按钮点击事件
        binding.btnPickupAll.setOnClickListener {
            showPickupConfirmDialog()
        // 设置底部按钮文本并添加点击事件
        binding.btnPickupAll.apply {
            text = getButtonText()
            setOnClickListener {
                showPickupConfirmDialog()
            }
        }
    }
    private fun getConfirmMessage(): String {
        return when (pageType) {
            TYPE_EXPRESS -> "是否确认取出所有包裹?"
            TYPE_REPAYMENT -> "是否确认处理所有还款?"
            TYPE_INCOME -> "是否确认处理所有收入?"
            else -> "是否确认处理所有项目?"
        }
    }
    private fun getButtonText(): String {
        return when (pageType) {
            TYPE_EXPRESS -> "全部取件"
            TYPE_REPAYMENT -> "全部还款"
            TYPE_INCOME -> "全部收款"
            else -> "全部处理"
        }
    }
    private fun showPickupConfirmDialog() {
        AlertDialog.Builder(this)
            .setTitle("确认取件")
            .setMessage("是否确认取出所有包裹?")
            .setTitle(getButtonText())
            .setMessage(getConfirmMessage())
            .setPositiveButton("确认") { _, _ ->
                handlePickupAll()
            }
@@ -84,7 +116,7 @@
                // 清空列表
                expressAdapter.submitList(emptyList())
                // 更新包裹数量显示
                binding.tvPackageCount.text = "共0个包裹"
                binding.tvPackageCount.text = getCountText(0)
                // 通知MainActivity刷新
                setResult(RESULT_OK)
            } catch (e: Exception) {
@@ -92,6 +124,15 @@
                // 如果出错则重新加载数据
                loadData()
            }
        }
    }
    private fun getCountText(count: Int): String {
        return when (pageType) {
            TYPE_EXPRESS -> "共${count}个包裹"
            TYPE_REPAYMENT -> "共${count}笔还款"
            TYPE_INCOME -> "共${count}笔收入"
            else -> "共${count}个"
        }
    }
@@ -112,7 +153,7 @@
            
            expressAdapter.submitList(packages)
            binding.tvStationName.text = stationName
            binding.tvPackageCount.text = "共${packages.size}个包裹"
            binding.tvPackageCount.text = getCountText(packages.size)
        }
    }