数据存储

Android 教程 · 第 7 章 · 7 次浏览

列表是 App 最常见的界面,RecyclerView 是 Android 官方列表控件:只创建可见项的视图,性能好、可定制强。

三步使用

  1. 布局里放 RecyclerView
  2. 写 Adapter(继承 RecyclerView.Adapter):ViewHolder 缓存视图 + onCreateViewHolder 创建 + onBindViewHolder 绑定数据
  3. LayoutManager 决定排列方式:LinearLayoutManager 线性、GridLayoutManager 网格

代码示例

class UserAdapter(
    private val items: List<User>
) : RecyclerView.Adapter<UserAdapter.VH>() {

    class VH(val binding: ItemUserBinding) : RecyclerView.ViewHolder(binding.root)

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH =
        VH(ItemUserBinding.inflate(LayoutInflater.from(parent.context), parent, false))

    override fun onBindViewHolder(holder: VH, position: Int) {
        val u = items[position]
        holder.binding.tvName.text = u.name
        holder.binding.tvId.text = "ID: ${u.id}"
    }

    override fun getItemCount() = items.size
}

// 使用
// val adapter = UserAdapter(users)
// recyclerView.adapter = adapter
// recyclerView.layoutManager = LinearLayoutManager(this)