zhujie
9 天以前 88b00f3fc74446a1727c93722c7b64179b45a9db
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,8 +14,10 @@
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"
@@ -23,7 +26,7 @@
        const val TYPE_TRAIN = "train"
        const val TYPE_FLIGHT = "flight"
    }
    private var pageType = TYPE_EXPRESS
    override fun onCreate(savedInstanceState: Bundle?) {
@@ -34,16 +37,19 @@
        // 获取页面类型
        pageType = intent.getStringExtra("page_type") ?: TYPE_EXPRESS
        stationIconResId = intent.getIntExtra("station_icon_res_id", R.drawable.location)
        initViews()
        loadData()
    }
    private fun initViews() {
        // 初始化适配器,传入取件回调
        expressAdapter = ExpressPackageAdapter { pack ->
        expressAdapter = PickupPackageAdapter { pack ->
            handleSinglePickup(pack)
        }
        binding.rvPackages.apply {
            layoutManager = LinearLayoutManager(this@PickupActivity)
            adapter = expressAdapter
@@ -60,6 +66,8 @@
                showPickupConfirmDialog()
            }
        }
        // 设置驿站图标
        binding.ivBack.setImageResource(stationIconResId)
    }
    private fun getConfirmMessage(): String {
@@ -147,7 +155,7 @@
    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 ->
@@ -158,10 +166,13 @@
                    createTime = code.createTime
                )
            }
            expressAdapter.submitList(packages)
            binding.tvStationName.text = stationName
            binding.tvPackageCount.text = getCountText(packages.size)
            // 根据PageType设置适配器的CompanyLogo处理逻辑
            expressAdapter.setPageType(pageType)
        }
    }
}
}