android - 这是在 android 中制作分段列表的正确方法吗?

标签 android

我必须在我的应用程序中制作一个分段列表。为此,我使用以下方法:

  • 制作一个 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/

相关文章:

java - 在停靠模式下启动我的应用程序

java - 为 Android 平台评估 Java 脚本(例如 Python)

android - Firebase 动态链接未在 Android 中将我的应用程序作为单独的应用程序打开

Android 设计/架构 : Static Reference vs Service

android - 使用 ViewPager 和 fragment

弹出对话框更新数据库后的Android更新Mainactivity ListView

android - 计算距离相机远近的移动物体的速度

java - 在android中获取外部SD卡的正确路径

android - 只是更新一个小部件 RemoteViews 而不是完全创建一个新的?

Android draw9patch 抛出 NoClassDefFoundError