Как добавить ответ json в разделенный recyclerview Android

#android #android-recyclerview #sectionedrecyclerviewadapter

#Android #android-recyclerview #разделенный recyclerviewadapter

Вопрос:

Я создаю разделенный список recyclerview. используя ответ сервера, один для заголовка, а второй для дочернего, как добавить его динамически в мой разделенный recyclerview, но когда я получаю вывод в recyclerview, последняя запись вставляется два раза с дочерним списком.

с сервера есть два массива json, подобных этому

  "status": "1",
    "msg": "Success",
    "resident":  {[
            "wing_id": "4",

            "resident_details": [
                {
                    "first_name": "Suraj",
                    "last_name": "Jumbad",

                    "wing_id": "4",

                },
                {
                    "first_name": "Laxman ",
                    "last_name": "Kathar",


                    "wing_id": "4",

                }
            ]
        }
  

вот мой код

   try {
                        if (response.has("status") amp;amp; response.getString("status").equals("1")) {
                            JSONArray residents = response.getJSONArray("resident");
                            for (int i = 0; i < residents.length(); i  ) {

                                JSONObject jsonObject_residents_details = residents.getJSONObject(i);
                                String wing_name = jsonObject_residents_details.getString("wing_name");
                                String wing_id = jsonObject_residents_details.getString("wing_id");


                                sectionHeaderss.add(new SectionHeader(child, wing_name, i));
                                JSONArray resident_details = jsonObject_residents_details.getJSONArray("resident_details");
                                for (int j = 0; j < resident_details.length(); j  ) {
                                    JSONObject jsonObject = resident_details.getJSONObject(j);
                                    String wing_ids = jsonObject.getString("wing_id");
                                    String first_name = jsonObject.getString("first_name");
                                    childList.add(new Child(first_name, wing_ids, wing_name));
                                    //child add
                                    //sectionHeaderss.add(new SectionHeader(childList, wing_name, i));

                                }
                                //main add

                                if (!childList.isEmpty()) {
                                    for (int k = 0; k < childList.size(); k  ) {
                                        if (childList.get(k).getId().equals(wing_id)) {

                                            sectionHeaderss.add(new SectionHeader(childList, wing_name, i));

                                        }

                                    }
                                } else {
                                    sectionHeaderss.add(new SectionHeader(child, wing_name, i));
                                }

                            }


                            adapterRecycler = new AdapterSectionRecycler(GroupListActivity.this, sectionHeaderss);
                            rv_resident_list.setAdapter(adapterRecycler);
                            if (adapterRecycler != null) {
                                adapterRecycler.notifyDataSetChanged();
                            }
                        } else {
                            Toast.makeText(GroupListActivity.this, response.get("msg").toString(), Toast.LENGTH_SHORT).show();


                        }
                    } catch (Exception e) {

                        Toast.makeText(GroupListActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();

                    }

                    Functions.pbVisiblity(true, pb_rv_resident_list);
                }
  

Комментарии:

1. Вы имеете в виду, что хотите показать recycleview с элементом, показывающим название крыла, за которым следуют элементы, показывающие данные резидента в этом крыле, для всех крыльев и резидентов в json?

2. Пожалуйста, добавьте изображения того, какой результат вы хотите и какой результат вы получаете прямо сейчас.