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)); 
    } 
} 
相關問題