我必须在我的应用程序中制作一个分段列表。为此,我使用以下方法:
- 制作一个 ListView 以包含每个部分的标题
- 在上述列表中的每个项目的getview中膨胀的xml由一个textview和一个tablelayout组成
- 用于为上述 ListView 制作 View 的自定义适配器,我用标题填充 TextView ,并将行添加到表格布局中,直到填充所有部分。
自然地,我维护了两个数组:1) 用于标题 2) 用于部分详细信息(实际上为此我使用一个 hashmap,其数组中的部分标题索引作为键,这是我识别哪个标题属于哪个节)。
出于某种原因,上面的代码无法正常工作,并且数据在不同的部分重复...例如。第二部分包含第一部分和第二部分的合并数据?
为什么会这样?
上面的想法是不是很对?
这里出了什么问题?
提前致谢。
最佳答案
对于分层数据结构,您应该使用 ExpandableListView
/ExpandableListActivity
然后使用 ListView
( see this example for reference )。
这样您将使用 BaseExpandableListAdapter
来填充您的列表,它有两种渲染器方法:
getGroupView
应该被覆盖 对于标题,getChildView
应该被覆盖 对于不同的子项目 标题
如果您不需要您的列表可折叠/展开,您可以将所有组设置为展开,并禁用折叠为 described here .
关于android - 这是在 android 中制作分段列表的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5946286/