如何以编程方式在 Android 中(动态地)创建列表视图和标题?

How to create listview and title (dynamically) in Android programmatically?

我真的很困惑,GridView、Tableview或多个listview中到底要用哪个来开发一个UI如下图

我不知道网站上有多少列表数据(类别及其子类别)。它是从星期三开始动态添加的,并发送到我的 android 应用程序。

UI上面开发什么view最好,请指教。

注意:我想以编程方式进行。

提前感谢您的co-operation。

正如 PedroHawk 所说,ExpandableListView 是一个选项。但也要考虑到屏幕尺寸,您可能不想尝试将 UI 直接移植过来。仅包含主要类别且用户可以向下钻取的单个 ListView 怎么样?

请记住,您作为示例显示的图像非常大,这样的实现会在较小的屏幕尺寸上造成混乱 UI。也就是说,您提供的示例可以通过使用 GridView 在 Android 中实现。每个主要类别(汽车、工作等)都是一个网格项,子元素在网格项中实现为 TextView 甚至 ListView。像这样:

正如@PedroHawk 和@bryan 所提到的,您也可以使用 ExpandableListView;在这种情况下,主要类别(汽车、工作等)将是 header 项,子元素将是 header 中的 children。像这样:

但是,通过此实现,您将被限制在一个 one-dimensional 列表中 - 也就是说,您将无法像示例中所示那样将主要类别彼此相邻。

使用这两种实现方式(ExpandableListViewGridView),您可以在接收数据时动态添加更多元素。