shazeline
shazeline

Reputation: 503

Displaying JSON in a ListView with separators

I want to be able to take the JSON data and format it into a ListView with each of the outermost objects as the headings. For example, there should be a divider for "Company A" and all of its projects under the divider. Then there should be the "Company B" divider and it's project under that header. Here's an example of a JSON response I'll be working with. I know how to parse the JSON, just not how to display it.

{
"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"
        }
    ]
}

}

Is there an easy way to achieve this kind of formatting?

Upvotes: 0

Views: 150

Answers (1)

Jon O
Jon O

Reputation: 6591

Yes and no.

You can easily convert each set (header with content) into an object, and the content itself into sub-objects (if you need help, ask :)); the hard part is configuring the ListView if you aren't familiar with using multiple item types.

I think the answer to this question will be of use to you.

To summarize: basically, ListView can be made to use multiple item types; so your header would be one item type and each data item would be of a second type. Just implement the glue logic so that you get the right view type for the right object, and the right object for the right ListView "position".

Upvotes: 1

Related Questions