2013-03-02 55 views
0

我想使用一个可以轻松显示500个项目的gridview。像每行3行和许多行..我不希望gridview有真正的500个项目。例如,如果屏幕一次显示15个项目,我希望它重复使用这些项目,并用对应于当前滚动位置的项目替换它们的内容。 (如iOS中的TableView或虚拟化面板,如Windows 8和Windows Phone 8)。在Android中虚拟化项目的滚动gridview的最佳方式是什么?

想想像这样一个照片应用程序,它列出了3列中的照片,你甚至可以滚动1000个项目或5000个项目(它只需要用户自己的时间滚动到那个深处,我只是希望视图能够处理与其数量无关的项目)

我该怎么做?

回答

1

我对你有好消息!适配器模式是为了这个目的而构建的。

适配器 - 适配器对象充当适配器视图和该视图底层数据之间的桥梁。适配器 提供对数据项的访问。该适配器还负责为数据集中的每个项目创建一个视图 。 See here for more


的GridView - GridViewViewGroup显示在一个二维的,滚动的网格物品。网格项目 使用ListAdapter自动插入到布局中。对于 介绍如何使用适配器动态插入的意见, 阅读Building Layouts with an Adapter.

使用在这些网页上显示的例子来学习如何使用GridView与适配器,然后修改示例代码适配器从任何你想要的地方加载你的照片,而不是从R.drawables

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

相关问题