我有一个ListView,其中每个项目的视图是一个字符串(项目的名称).但是我必须将很多其他数据与该项相关联:价格,大小,重量,税等.所以,我要创建一个名为Item的新Java类,然后创建列表中每个项的对象.
我不知道实现这个的bext方法是什么.有两个明显的选择:
1)我可以简单地在任何Android视图之外创建数据结构,然后编写一个名为UpdateList()的方法,该方法获取此数据结构中每个项目的名称并将其放入ListView中.这个问题是一些数据被复制两次(原始数据结构和ListView的适配器),当你复制数据时,就会出现bug漏洞.
2)或者,我可以以某种方式将数据结构直接与ListView的适配器相关联,并让它弄清楚如何显示所显示的每个ListView条目的名称.这里的优点是您只有一个数据结构.但我不知道这在Android中是否可行,或者非常复杂.
使用Android应用程序执行此操作的首选方法是什么?
使用ListView和Adapter选项会更好.您需要创建一个自定义,ArrayAdapter以便ListView按照您希望的方式填充此对象.
这种技术的优点是你获得了一个视图回收机制,它将回收Views你的内部ListView,以减少内存.
简而言之,你必须:
1.创建一个表示单行数据的对象.
2.创建ArrayList这些对象.
3.使用代码创建包含ListView的布局或将ListView添加到主布局.
4.创建单行的布局.
5.创建一个ViewHolder代表您数据行的视觉方面的视角Views.
6.创建一个ArrayAdapter将根据您的需要填充行的自定义.
7.最后将此分配ArrayAdapter给你ListView的onCreate.
你可以通过阅读我写的这篇博文来了解如何实现这一点:
| 归档时间: |
|
| 查看次数: |
5778 次 |
| 最近记录: |