到目前为止,我还没有在google上找到替换项目中的listview的解决方案,因为我需要使用与sqlite链接的光标。
老方法如下:listview.setAdapter(cursorAdapter)
通过这种方式,我可以让游标来处理数据库中的数据
但是现在,recycleview.setAdapter(recycleview.adapter)
它不能识别扩展BaseAdapter的适配器
有人能帮我一把吗?
发布于 2014-10-27 13:55:38
实际上,自己实现它非常简单:
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...
}
}
https://stackoverflow.com/questions/26312301
复制相似问题