0

我想使用可以轻松显示 500 个项目的网格视图。就像每行 3 个项目和许多行一样。我不希望 gridview 拥有真正的 500 个项目。例如,如果屏幕一次可以显示 15 个项目,我希望它重用这些项目并将其内容替换为与当前滚动位置对应的项目。(如 iOS 中的 TableView 或 Windows 8 和 Windows Phone 8 中的虚拟化面板)。

把它想象成一个照片应用程序,它在 3 列中列出照片,你甚至可以滚动 1000 个项目或 5000 个项目(它只需要用户自己的时间滚动到那个深度,我只是希望视图能够独立处理项目他们的计数)

我怎样才能做到这一点?

4

1 回答 1

1

我有好消息要告诉你!适配器模式正是为此目的而构建的。

Adapter - Adapter 对象充当 AdapterView 和该视图的基础数据之间的桥梁。适配器提供对数据项的访问。Adapter 还负责为数据集中的每一项创建一个 View。请参阅此处了解更多信息


GridView - GridView是一个ViewGroup,它在二维、可滚动的网格中显示项目。网格项使用ListAdapter自动插入到布局中。有关如何使用适配器动态插入视图的介绍,请阅读使用适配器构建布局。

使用这些页面中显示的示例来了解如何将 GridView 与适配器一起使用,然后修改适配器的示例代码以从您想要的任何位置而不是从 加载图片R.drawables

特别注意 ListAdaptergetView()方法中的部分,尤其是View convertView传递给getView(). 如果可能,该参数将是“回收”视图。(一个完全退出屏幕的。因此使用时间更长)因此,通过重新使用它而不是new每次创建视图,您可以滚动浏览数千个项目的列表,同时仍然只使用多少 View 对象它需要显示一个完整的屏幕价值。

于 2013-03-02T16:24:46.117 回答