cloudroam
2025-03-03 4cb9946eff3626389ae93feef4250dd3d45fb694
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.example.firstapp.adapter
 
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.example.firstapp.R
import com.example.firstapp.database.entity.Code
import androidx.recyclerview.widget.ListAdapter
 
 
class MyAdapter : ListAdapter<Code, MyAdapter.ViewHolder>(CodeDiffCallback()) {
 
    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
        val tvTitle: TextView = view.findViewById(R.id.tvTitle)
        val tvDescription: TextView = view.findViewById(R.id.tvDescription)
        val overTimeMsg: TextView = view.findViewById(R.id.overTimeMsg)
    }
 
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        val view = LayoutInflater.from(parent.context)
            .inflate(R.layout.item_layout, parent, false)
        return ViewHolder(view)
    }
 
    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        val item = getItem(position) // 使用 getItem 来获取当前位置的 item
        holder.tvTitle.text = item.type // 假设 Code 类有一个 `type` 属性
        holder.tvDescription.text = item.code // 假设 Code 类有一个 `code` 属性
        var createtime  = "请注意:当前取件免费截止时间是"+item.createtime+",超时会收取额外费用"
        holder.overTimeMsg.text = createtime
        println("打印......")
    }
 
    // 使用 DiffUtil 来优化列表更新
    class CodeDiffCallback : androidx.recyclerview.widget.DiffUtil.ItemCallback<Code>() {
        override fun areItemsTheSame(oldItem: Code, newItem: Code): Boolean {
            return oldItem.id == newItem.id // 假设 Code 类有唯一的 id 字段
        }
 
        override fun areContentsTheSame(oldItem: Code, newItem: Code): Boolean {
            return oldItem == newItem // 如果内容相同,返回 true
        }
    }
}