在Android中为GridView添加不同的第一个视图

时间:2014-04-06 14:08:03

标签: android gridview

我希望我的GridView第一项与其他项不同。 gridview的适配器可以是从CursorAdapterArrayAdapter扩展的适配器。它取决于图像路径的位置 - db或arraylist。

现在一切正常,但我希望第一个元素与其他元素不同。第一个元素,无论什么是适配器,都必须是空元素,它将是我可以添加额外元素的按钮。第一个元素中的图像必须来自资源,而其余元素的图像则来自uri。

此外,此emptyView设置为gridView。我一开始尝试将第一个元素添加到arraylist中,但是后面没有显示空视图。另外,我不知道它如何与DB的内容一起使用。说实话,我没有更多的想法,而且我在谷歌找不到任何东西。

您知道我可以添加第一个视图吗?

我需要它在API10及更高版本上工作。

1 个答案:

答案 0 :(得分:0)

您有2个选项

  1. 在适配器中,您可以检查位置是否为0而不是膨胀另一个视图。
  2. 更复杂但似乎更适合你的是(假设你使用的是ArrayAdapter)方法:

    getItemViewType(int position) getViewTypeCount()

  3. 你可以找到友好而友好的例子here

    ---编辑---

    要显示空视图,您需要确保:

    1. 您的视图正确曝气。
    2. 你调用了mGridview.setEmptyView(view);
    3. 适配器中没有要显示的项目,这意味着在网格视图适配器中,函数getCount()返回0.请注意,在实现2种方法后,应使用正确的逻辑实现此函数。如上所述。