Как я могу заполнить данные в соответствии с его собственными категориями - PullRequest
0 голосов
/ 07 октября 2019

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

Я пробовал этот метод для заполнения данных, но всякий раз, когда есть подобная категория, она будет заполняться дважды. Например, {Оборудование1, контрольный список1, дата1, действие1}, {Оборудование1, контрольный список2, дата2, действие2}, оно дважды заполнит Оборудование1 другим контрольным списком соответственно.

На изображении ниже показана ошибка, из-за которой DP-03 должен выходить только один раз, и эти две данные должны быть в одном просмотре карты.

Просмотр карты Recycler

JSONObject obj = new JSONObject(jresponse);
String count = obj.getString("count");

if(!(count.equals("0")))
{


    ArrayList<SectionDataModel> sectionDataModelArrayList = new ArrayList<>();
    JSONArray dataArray = obj.getJSONArray("all");


    for (int i= 0; i<dataArray.length();i++)
    {
        SectionDataModel sectionDataModel = new SectionDataModel();
        SingleItemDataModel singleItemDataModel = new SingleItemDataModel();
        JSONObject dataobj = dataArray.getJSONObject(i);
        ArrayList<SingleItemDataModel> singleItemDataModelArrayList = new ArrayList<>();

        sectionDataModel.setEqpName(dataobj.getString("Equipment"));




            singleItemDataModel.setChecklist(dataobj.getString("Checklists"));
            singleItemDataModel.setActivity(dataobj.getString("Activity"));
            singleItemDataModel.setStatus(dataobj.getString("Status"));
            singleItemDataModel.setTime(dataobj.getString("Date"));

singleItemDataModelArrayList.add(singleItemDataModel);
        sectionDataModel.setDescription(singleItemDataModelArrayList);
        sectionDataModelArrayList.add(sectionDataModel);

     }

    // Create RecyclerView Adapter
    recyclerViewDataAdapter = new RecyclerViewDataAdapter(getContext(), sectionDataModelArrayList);

    // Create the recyclerview
    RecyclerView my_recycler_view = view.findViewById(R.id.my_recycler_view);
    my_recycler_view.setHasFixedSize(true);
    my_recycler_view.setAdapter(recyclerViewDataAdapter);
    my_recycler_view.setLayoutManager(new LinearLayoutManager(view.getContext(), LinearLayoutManager.VERTICAL, false));

}

else
    {
        Toast.makeText(getContext(), "no data", Toast.LENGTH_SHORT).show();

        final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

        //Set Title
        builder.setTitle("There is no data available");
        builder.setMessage("Please reselect again.");
        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        });
        builder.show();
}
} catch (JSONException e) {
    e.printStackTrace();
}
...