如何为Spinner的SimpleCursorAdapter或Cursor插入额外的元素?

elt*_*lto 30 android cursor spinner simplecursoradapter

我有一个Spinner,它显示从数据库中获取的数据列表.数据从查询返回到游标,并将光标传递给spinner的SimpleCursorAdapter.这样工作正常,但我想在这些数据之上插入另一个项目.例如,微调器已经显示了保存在DB中的用户创建模板列表,但我想在模板列表的顶部插入"新模板"和"空模板",并且需要将其插入到Cursor/SimpleCursorAdapter中不知何故.

我考虑过使用arraylist并从光标中填充arraylist,但是光标对我来说是更好的解决方案,因为它也包含其他相关的数据行.我搜索了互联网的其他解决方案,并找到了一些要求使用CursorWrapper的答案,但我找不到一个具体的例子如何使用CursorWrapper来实现我想要的.如何在光标中插入一些行或者有人可以给出一个易于遵循的CursorWrapper示例!提前致谢.

nak*_*nis 90

您可以像这样使用DB 的组合MergeCursor和:MatrixCursorcursor

MatrixCursor extras = new MatrixCursor(new String[] { "_id", "title" });
extras.addRow(new String[] { "-1", "New Template" });
extras.addRow(new String[] { "-2", "Empty Template" });
Cursor[] cursors = { extras, cursor };
Cursor extendedCursor = new MergeCursor(cursors);
Run Code Online (Sandbox Code Playgroud)