我有一个相当标准的内容提供商+ cursorAdapter + gridview设置。问题是我需要在我的应用程序中向一个特定的gridview添加2个单元格。我的客户端的设计在网格中有2个最终单元格为“Add from different category”和“Create New”。这是按照类别组织的“贴纸”。应用程序中的其他任何地方都不应显示这些单元格。
我最初的想法是想办法修改适配器以添加这些,但我找不到办法。
我目前的想法是用sqlite调用将信息“欺骗”到数据中......可能还有临时表?我确信如果有足够的时间我可以做到这一点,但是我在枪下,所以不要浪费很多时间,我想我会问这里有没有人知道最好的方法吗?
TL; DR
向CursorAdapter
支持的gridView
添加静态单元格的最佳/最简单方法是什么?
P.S。这是一个非常普遍的问题我不认为代码是需要的,但如果你能想到任何有用的东西请问!
答案 0 :(得分:0)
我是这样做的:
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
//add static fields
MatrixCursor extras = new MatrixCursor(ObjectDao.getAllCollumns());
extras.addRow(new String[] { "-1","0","0","0","","","","", "Add Existing","1","0","-1","-1" });
extras.addRow(new String[] { "-2","0","0","0","","","","", "Add New","1","0","-1","-2" });
Cursor[] cursors = { data, extras };
if (adapter != null) {
adapter.swapCursor(new MergeCursor(cursors));
}
}