数据存储
列表是 App 最常见的界面,RecyclerView 是 Android 官方列表控件:只创建可见项的视图,性能好、可定制强。
三步使用
- 布局里放 RecyclerView
- 写 Adapter(继承 RecyclerView.Adapter):ViewHolder 缓存视图 + onCreateViewHolder 创建 + onBindViewHolder 绑定数据
- 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)