Обновление recyclerView с использованием данных JSON по идентификатору - PullRequest
0 голосов
/ 19 октября 2018

У меня есть ниже json, чтобы заполнить элемент в представлении реселлера

{
"success": true,
"data": {
    "houses": [
        {
            "id": 1,
            "house_id": "HOUSEAGA00001",
            "ward_number": "23",
            "staus_id":1,
            "name_of_resident": "Melroy",
            "phone_number": "9890098900",
            "amount_due": 5000,
            "created_date": "2018-10-12T18:30:00.000Z",
            "updated_date": "2018-10-12T18:30:00.000Z"
        },
        {
            "id": 2,
            "house_id": "HOUSEAGA00002",
            "ward_number": "24",
            "staus_id":1,
            "name_of_resident": "Prajyot",
            "phone_number": "9823598235",
            "amount_due": 10000,
            "created_date": "2018-10-12T18:30:00.000Z",
            "updated_date": "2018-10-12T18:30:00.000Z"
        }
    ],
    "payment_statuses": [
        {
            "id": 1,
            "type": "Collected",
            "color_hex": "#00ff00"
        },
        {
            "id": 3,
            "type": "Owner unavailable",
            "color_hex": "#ff9900"
        },
        {
            "id": 2,
            "type": "Owner Denied",
            "color_hex": "#ff0000"
        }
    ]
},
"count": 2,
"error": []

}

Я использую массив дома для заполнения элемента представления рециркулятора, но в элементе есть одно поле с именем status, где ядолжен получить идентификатор статуса из массива домов и получить его соответствующий тип из массива payment_statuses.Проблема заключается в том, как получить тип из массива staus payment_statuses из массива Houses в держателе представления переработчика.

1 Ответ

0 голосов
/ 19 октября 2018

Я думаю, что это может быть полезно: Как анализировать JSON в Android В частности, при условии, что у вас есть весь объект JSON в object:

Чтобы получить конкретный JSONArray :

JSONObject jObject = object.getJSONObject("data"); 
JSONArray jArray = jObject.getJSONArray("houses");

Чтобы получить элементы из массива

for (int i=0; i < jArray.length(); i++)
{
    try {
        JSONObject oneObject = jArray.getJSONObject(i);
        // Pulling items from the array
        int value = oneObject.getInt(
    } catch (JSONException e) {
        // Oops
    }
}

Я не проверял код,но идея такая:

...