java - 在带有分隔符的 ListView 中显示 JSON

标签 java android xml json android-layout

我希望能够获取 JSON 数据并将其格式化为 ListView,其中每个最外层对象作为标题。例如,应该有一个“A 公司”的分隔线以及该分隔线下的所有项目。然后应该有“Company B”分隔线以及该标题下的项目。这是我将使用的 JSON 响应的示例。我知道如何解析 JSON,但不知道如何显示它。

{
"Company A": {
    "name": "Company A",
    "id": "1145",
    "projects": [
        {
            "name": "Test Project - DELETE",
            "id": "39771",
            "amount": "0.00",
            "billingType": "HOURLY",
            "date": "2012-07-09 15:38:06",
            "u_id": "25445",
            "itemID": "3"
        },                        
        {
            "name": "TEST",
            "id": "39905",
            "amount": "0.00",
            "billingType": "FIXED",
            "date": "2012-07-10 13:19:10",
            "u_id": "25455",
            "itemID": "1"
        },
        {
            "name": "Test Project - DELETE",
            "id": "39771",
            "amount": "0.00",
            "billingType": "HOURLY",
            "date": "2012-07-09 15:38:06",
            "u_id": "25445",
            "itemID": "4"
        }
    ]
},
"Company B": {
    "name": "Company B",
    "id": "5569",
    "projects": [
        {
            "name": "Type Test",
            "id": "39657",
            "amount": "0.00",
            "billingType": "FIXED",
            "date": "2012-07-12 10:14:30",
            "u_id": "25479",
            "itemID": "1"
        }
    ]
}

}

有没有一种简单的方法来实现这种格式化?

最佳答案

是和否。

您可以轻松地将每个集合(带有内容的标题)转换为一个对象,并将内容本身转换为子对象(如果您需要帮助,请询问:));如果您不熟悉使用多种项目类型,那么困难的部分是配置 ListView

我认为答案是this question对你有用。

总结一下:基本上,ListView 可以使用多种项目类型;因此您的 header 将是一种项目类型,而每个数据项将是第二种类型。只需实现粘合逻辑,以便为正确的对象获得正确的 View 类型,并为正确的 ListView“位置”获得正确的对象。

关于java - 在带有分隔符的 ListView 中显示 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11769305/

相关文章:

java - 我如何将 BottomNavigationView 放在 <layout> 中?

c# - 读取 XML 时出现奇怪的 UTF-8 编码问题,在 C# 中写入结果

java - 分割paintComponent方法

Java贪吃蛇游戏 body 不增长

java - 找不到类 'twitter4j.http.AccessToken'

android - 如何像这个图像一样实现轨迹栏 - Android?

java - 用java在灰度图像中写入像素数据

java - 在方法之间传递值

java - SharedPreferences不覆盖数据

java - 在 Android 中单击一个按钮即可打开 Google map !