首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有可能像ListView一样在recycleview中设置CursorAdapter?

有没有可能像ListView一样在recycleview中设置CursorAdapter?
EN

Stack Overflow用户
提问于 2014-10-11 15:38:00
回答 1查看 10.5K关注 0票数 18

到目前为止,我还没有在google上找到替换项目中的listview的解决方案,因为我需要使用与sqlite链接的光标。

老方法如下:listview.setAdapter(cursorAdapter)通过这种方式,我可以让游标来处理数据库中的数据

但是现在,recycleview.setAdapter(recycleview.adapter)它不能识别扩展BaseAdapter的适配器

有人能帮我一把吗?

EN

回答 1

Stack Overflow用户

发布于 2014-10-27 13:55:38

实际上,自己实现它非常简单:

代码语言:javascript
复制
public class CursorAdapter extends RecyclerView.Adapter<ViewHolder>{

    Cursor dataCursor;

    @Override
    public int getItemCount() {
        return (dataCursor == null) ? 0 : dataCursor.getCount();
    }


    public void changeCursor(Cursor cursor) {
        Cursor old = swapCursor(cursor);
        if (old != null) {
          old.close();
        }
      }

     public Cursor swapCursor(Cursor cursor) {
        if (dataCursor == cursor) {
          return null;
        }
        Cursor oldCursor = dataCursor;
        this.dataCursor = cursor;
        if (cursor != null) {
          this.notifyDataSetChanged();
        }
        return oldCursor;
      }

    private Object getItem(int position) {
        dataCursor.moveToPosition(position);
        // Load data from dataCursor and return it...
      }

}
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26312301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档