我使用 startAt 和 endAt 获取范围数据,但我需要在 startAt 中的另一个 child 中获取数据

i've using startAt and endAt for getting range data, but i need to take data in another child inside the startAt

我想将数据放入我的实时数据库的文件夹中,如下所示:

我有这段代码可以获取日期范围数据并将其显示在 RecycleView 中。

    DatabaseReference db = FirebaseDatabase.getInstance ( ).getReference ( );
        DatabaseReference pendingRef = db.child ("Users").child ("Pending");

        Query queryByKey = pendingRef.orderByKey ()
                .startAt ("*" + tanggalawal)
                .endAt ("*" + tanggalakhir + "\uf8ff");

        recView = (RecyclerView)findViewById (R.id.recview);
        recView.setLayoutManager (new LinearLayoutManager (this));

        FirebaseRecyclerOptions<Model> options =
                new FirebaseRecyclerOptions.Builder<Model>()
                        .setQuery(queryByKey, Model.class)
                        .build();

        adapter = new MyAdapter (options);
        recView.setAdapter (adapter);

如何获取其中的 DataPelanggan 数据?

当您为 Android 使用 Firebase-UI 库时,这意味着适配器将只能根据您传入的查询显示对象的平面列表,为每个元素创建一个 ViewHolder 对象。

由于您的实际数据位于 DataPelangganKTP 等节点下方,因此该库并不是很有用。如果您可以像这样更改数据库架构:

Firebase-root
  |
  --- Pending
       |
       --- *20211127...
             |
             --- type: "DataPelanggan" 
             |
             --- currentDateAndTime: "*20211127..."
             |
             --- date: "16/10/1999"
             |
             --- fullName: "a"
             |
             --- nik: "4444...."

它会起作用,因为我们已将节点键作为字段添加到每个对象的正下方。通过这种方式,我们删除了架构中的额外级别,您的代码可能保持不变。