【问题标题】:What's the best way to add cells to gridView?将单元格添加到 gridView 的最佳方法是什么?
【发布时间】:2014-09-11 04:46:53
【问题描述】:

我有一个相当标准的内容提供程序 + cursorAdapter + gridview 设置。问题是我需要将 2 个单元格添加到我的应用程序中的一个特定网格视图。我客户的设计在网格中有 2 个最终单元格是“从不同类别添加”和“新建”。这是按类别组织的“贴纸”。这些单元格不应在应用中的其他任何地方显示。

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

我目前的想法是通过 sqlite 调用将信息“欺骗”到数据中......也许使用临时表?我敢肯定,只要有足够的时间,我就可以做到这一点,但我手头紧,所以与其浪费很多时间,我想我会在这里问是否有人知道最好的方法?

TL;DR

将静态单元格添加到支持CursorAdaptergridView 的最佳/最简单方法是什么?


附:这是一个如此笼统的问题,我认为不需要代码,但是如果您能想到任何可以帮助的问题,请提出!

【问题讨论】:

  • 在从 db 获取数据后尝试将静态信息添加到列表数据中。
  • 将当前数据游标包装在 CursorWrapper 中并重写其方法以返回除了游标数据之外的两个额外单元格。
  • 太棒了!最后使用 MatrixCursor 使用 Haresh 的解决方案,然后使用 MergeCursor 将它们合并。您介意发布答案以便我接受吗?^^

标签: android sqlite android-sqlite android-gridview android-cursoradapter


【解决方案1】:

我是这样做的:

@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));
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 2019-06-02
    • 2021-10-15
    • 2019-08-24
    • 2013-02-21
    • 1970-01-01
    • 2019-05-09
    相关资源
    最近更新 更多