How to retrieve firebase realtime database to listview inside listview and nested data?

Solution for How to retrieve firebase realtime database to listview inside listview and nested data?
is Given Below:

I am currently struggling with searching references code on how to retrieve data from firebase to a listview inside a listview for Java, Android Studio. Actually, I was already successful in retrieving data from the main listview like this and into the detail when I clicked the listview:

[![main listview][1]][1]
[![detail activity and detail listview][2]][2]

So the “Nama Pemesan”, “Tanggal Masuk” and so on is already successfully retrieve from firebase, except the listview of “Pesanan”, “Kuantitas”, and “Total Harga”, I don’t have any idea to retrieve it.

This are the code that I already use on the list transaksi page:

public class ListTransaksiActivity extends AppCompatActivity {

    private DatabaseReference databaseReference;
    private ListView listViewTransaksi;

    ArrayList<Transaksi> trksArrayList = new ArrayList<>();
    TransaksiAdapter transaksiAdapter = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_transaksi);

        transaksiAdapter = new TransaksiAdapter(ListTransaksiActivity.this, R.layout.list_transaksi, trksArrayList);

        databaseReference = FirebaseDatabase.getInstance("https://rewanglaundry-ec6e9-default-rtdb.asia-southeast1.firebasedatabase.app/").getReference("Laundry");
        listViewTransaksi = findViewById(R.id.listView_Transaksi);

        listViewTransaksi.setAdapter(transaksiAdapter);

        databaseReference.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
                Transaksi value = dataSnapshot.getValue(Transaksi.class);
                trksArrayList.add(value);
                transaksiAdapter.notifyDataSetChanged();
            }

            @Override
            public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
                transaksiAdapter.notifyDataSetChanged();
            }

            @Override
            public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

            }

            @Override
            public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

    }

}

and also the adapter for listview list transaksi:

public class TransaksiAdapter extends ArrayAdapter<Transaksi> {

    public TransaksiAdapter(Context context, int layout, ArrayList<Transaksi> transaksiArrayList){
        super (context, R.layout.list_transaksi, transaksiArrayList);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View row =  convertView;
        if (row == null) {
            row = LayoutInflater.from(getContext()).inflate(R.layout.list_transaksi, parent, false);

            Transaksi currentTransaksi = getItem(position);
            TextView txtTglMasuk = (TextView) row.findViewById(R.id.detail_tgl_masuk);
            txtTglMasuk.setText(currentTransaksi.getTglMasuk());

            TextView txtTglKeluar = (TextView) row.findViewById(R.id.detail_tgl_keluar);
            txtTglKeluar.setText(currentTransaksi.getTglSelesai());

            TextView txtPemesan = (TextView) row.findViewById(R.id.detail_pemesan);
            txtPemesan.setText(currentTransaksi.getNamaPemesan());

            TextView txtPenerima = (TextView) row.findViewById(R.id.detail_penerima);
            txtPenerima.setText(currentTransaksi.getNamaPenerima());

            row.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //OPEN DETAIL
                    openDetailActivity(currentTransaksi.getNamaPemesan(),currentTransaksi.getNamaPenerima(),currentTransaksi.getTglMasuk(), currentTransaksi.getTglSelesai(),
                            currentTransaksi.getTotalHarga());
                }
            });
        }
        return row;
    }

    //OPEN DETAIL ACTIVITY
    private void openDetailActivity(String...details)
    {
        Intent i=new Intent(getContext(),DetailAdminActivity.class);
        i.putExtra("namaPemesan",details[0]);
        i.putExtra("namaPenerima",details[1]);
        i.putExtra("tglMasuk",details[2]);
        i.putExtra("tglSelesai",details[3]);
        i.putExtra("totalHarga",details[4]);

        getContext().startActivity(i);
    }
}

And the model:

public class Transaksi {

    private String namaPemesan;
    private String tglMasuk;
    private String tglSelesai;
    private String namaPenerima;
    private String totalHarga;

    public String getTotalHarga() {
        return totalHarga;
    }

    public void setTotalHarga(String totalHarga) {
        this.totalHarga = totalHarga;
    }

    public List<Transaksi> getTransaksiList() {
        return transaksiList;
    }

    public void setTransaksiList(List<Transaksi> transaksiList) {
        this.transaksiList = transaksiList;
    }

    private List<Transaksi> transaksiList;

    public String getNamaPemesan() {
        return namaPemesan;
    }

    public void setNamaPemesan(String namaPemesan) {
        this.namaPemesan = namaPemesan;
    }

    public String getTglMasuk() {
        return tglMasuk;
    }

    public void setTglMasuk(String tglMasuk) {
        this.tglMasuk = tglMasuk;
    }

    public String getTglSelesai() {
        return tglSelesai;
    }

    public void setTglSelesai(String tglSelesai) {
        this.tglSelesai = tglSelesai;
    }

    public String getNamaPenerima() {
        return namaPenerima;
    }

    public void setNamaPenerima(String namaPenerima) {
        this.namaPenerima = namaPenerima;
    }

}

And this is the firebase realtime database structure, i want to put “keranjang” data on the listview detail:

{
  "Laundry" : {
    "1626021441819" : {
      "keranjang" : [ {
        "harga" : "10000",
        "id" : 13,
        "namaJenis" : "KILOAN GOSOK",
        "quantity" : "2"
      }, {
        "harga" : "9000",
        "id" : 14,
        "namaJenis" : "KILOAN CUCI",
        "quantity" : "2"
      }, {
        "harga" : "5000",
        "id" : 15,
        "namaJenis" : "KILOAN GOSOK",
        "quantity" : "1"
      } ],
      "namaPemesan" : "Jumi",
      "namaPenerima" : "Ten",
      "tglMasuk" : "11-07-2021",
      "tglSelesai" : "14-07-2021",
      "totalHarga" : "24000"
    },
    "1626264517918" : {
      "keranjang" : [ {
        "harga" : "8000",
        "id" : 16,
        "namaJenis" : "KAOS",
        "quantity" : "1"
      }, {
        "harga" : "9000",
        "id" : 17,
        "namaJenis" : "KILOAN CUCI",
        "quantity" : "2"
      } ],
      "namaPemesan" : "Toni",
      "namaPenerima" : "Tuki",
      "tglMasuk" : "07-07-2021",
      "tglSelesai" : "10-07-2021",
      "totalHarga" : "17000"
    }
  }
}

Do you guys have any idea where i can get a reference code to retrieve listview inside listview or something like that? Any help is appreciated. Thankyouu
[1]: https://i.stack.imgur.com/zeFpU.png
[2]: https://i.stack.imgur.com/zMykE.png