0

我有一个相当标准的内容提供商+ cursorAdapter + gridview设置。问题是我需要在我的应用程序中添加2个单元格到一个特定的gridview。我的客户的设计在网格中有2个最终单元格,即“从不同类别添加”和“创建新”。这是按照类别分类的“贴纸”。应用程序中的其他位置不应显示这些单元格。将单元格添加到gridView的最佳方式是什么?

我最初的想法是找出一种方法来修改适配器以添加这些,但我找不到方法。

我目前的想法是有点“欺骗”信息到数据与sqlite调用...也许与临时表?我敢肯定,如果有足够的时间我可以做到这一点,但我在枪支下,所以不要浪费很多时间,我想我会问在这里是否有人知道这样做的最佳方式?

TL; DR

什么是静态的细胞添加到CursorAdapter支持gridView最好/最简单的方法是什么?


P.S.这是一个我不认为需要代码的通用问题,但如果你能想到任何有助于请求的问题!

+0

尝试添加你的静态信息,以从数据库中获取数据后列出的数据从数据库中提取方法。 – 2014-09-11 04:53:01

+0

将当前数据游标包装在CursorWrapper中并覆盖其方法以返回除游标数据之外的两个额外单元。 – Luksprog 2014-09-11 05:07:44

+0

太棒了!最后用Haresh的解决方案使用'MatrixCursor',然后使用'MergeCursor'合并它们。你介意发布一个答案,以便我可以接受它吗?^^ – 2014-09-11 06:41:19

回答

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)); 
    } 
} 
相关问题