mac*_*hou 18 android android-support-library android-recyclerview
到目前为止,我还没有谷歌解决方案来替换我的项目中的listview,因为我需要使用与sqlite链接的游标.
老方法如下:
listview.setAdapter(cursorAdapter)通过这种方式,我可以获得光标来处理数据库中的数据
但现在,recycleview.setAdapter(recycleview.adapter)它无法识别扩展BaseAdapter的适配器
所以任何人都可以帮我一把
nyx*_*nyx 31
自己实现它实际上非常简单:
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...
}
}
Run Code Online (Sandbox Code Playgroud)
新的RecyclerView工作与新的RecyclerView.Adapter基类.所以它不适用于CursorAdapter.
目前还没有默认实现的RecyclerView.Adapter可用.
可能正式发布,谷歌将添加它.
| 归档时间: |
|
| 查看次数: |
10465 次 |
| 最近记录: |