RecyclerView Adapters 系列(2):RecyclerView Cursor Adapter

752 查看

在Android平台中,CursorAdapter是一个适配器,用来把Cursor对象的数据展示到ListView控件里。RecyclerView适配器的第二篇将解释如何自己构造一个简单可重用的Cursor适配器,以及如何在你的应用中使用它。第三篇文章中,我将展示一个CursorAdapter类的更高级版本。

(相比于Android CursorAdapter,本例中用到的Cursor,不包含名为“_id”的列)

首先,我们创建一个抽象类RecyclerViewCursorAdapter,该类持有Cursor对象并实现一些RecyclerView.Adapter类需要的方法(例如getItemCount())。

而且,我们的适配器类将定义一个新的方法叫做onBindViewHolder(RecyclerView.ViewHolder, Cursor)。所以,你不需要每次获取Cursor对象来将数据绑定到ViewHolder。

我们还增加了一些帮助方法,例如:

  • swapCursor(Cursor):提供带数据集(dataset)的适配器。
  • getItem(int):获得Cursor对象,移动到正确的位置。
  • getCursor():获得Cursor对象。

实现这个抽象类并填充数据是相当简单的。