首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ArrayAdapter创建多栏布局

使用ArrayAdapter创建多栏布局
EN

Stack Overflow用户
提问于 2011-07-15 01:42:25
回答 2查看 2.2K关注 0票数 2

我试图解决这个问题已经有一段时间了,我已经用尽了我能想到的所有不同的谷歌搜索。我是Android的初学者,但我知道大部分的基础知识(我想)。无论如何,我正在尝试以多列布局电子表格样式显示数据列表。我之所以使用ListView,是因为我需要用户能够单击行,以便更详细地查看数据,因为一行中只能容纳这么多数据。我使用SimpleAdapter时,它工作得很好,但由于数据量有时可能很大,最多500个条目,所以我想切换到Lazy Loader系统,这样用户就不会在加载所有内容时盯着黑屏20秒。我想我可以使用Lazy Loader部分,但我不知道如何从多列格式的SimpleAdapter切换到所有Lazy Loader示例都使用的ArrayAdapter。

下面是我的SimpleAdapter代码的一个示例:

适配器=新的适配器( SimpleAdapter,fillMaps,R.layout.grid_item,from,to);

fillMaps是要插入的HashMaps的列表。'grid_item‘是插入条目的布局。“‘from”是要使用的列名(或者是HashMap中的键)的数组。“‘to”是将在“TextView _item”中填充的网格项目数组。你知道怎么把它转换成ArrayAdapter吗?或者如何使用SimpleAdapter延迟加载?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-22 23:35:47

为了帮助其他人解决这个问题,我做了以下工作来让它完美地工作:

  • 创建了我自己的名为Entry的类,它只包含行的字符串,
  • 创建了一个扩展ArrayAdapter的自定义适配器。对于构造函数,我向它传递了一个ArrayList类型的条目。
  • 为更好的UI创建一个ViewHolder,然后将行布局xml添加到我的listview

要使延迟加载工作,请执行以下操作:

  • 在我的自定义适配器中添加了一个方法,该方法将Entry对象的新ArrayList附加到我的ArrayList中已有的onScrollListener中,并且从一些调试测试中发现,如果顶部可见项加上其余条目等于总条目,那么我将一直滚动到底部
  • 。一旦检测到底部,我将调用fetch方法来检索另外30个条目,使用我创建的add方法添加这些条目,然后使用notifyDataSetChanged()方法为ArrayAdapter显示新加载的条目
票数 1
EN

Stack Overflow用户

发布于 2011-07-15 01:47:55

只需编写您自己的适配器即可。在包含扩展BaseAdapterListViewActivity中创建一个私有类。填写抽象方法并随心所欲地显示数据。尽管SimpleAdapter显然很有用,但您将从您自己的适配器中获得更多的吸引力,并且它们实际上并不难编写。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6697612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档