私はこの Firebase JSON DataFirebaseネストされたクエリを使用してクラスのプロパティ値を設定するにはどうすればよいですか?
インサイドオリの参照などのfirebaseデータ構造を持っているKategori参照(-Ky0RUaYOgB6gks2t3oY)に子として同じ値を持っている「kategori」キー(-Ky0RUaYOgB6gks2t3oY)があります。私はOli参照からすべてのデータを取得しようとしており、DataOliクラスとして項目を使用してarraylistに値を設定しています。
mDbRefOli.orderByChild("nama").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {
final DataOli item = new DataOli();
item.setIdOli(childDataSnapshot.getKey());
item.setNamaOli(childDataSnapshot.child("nama").getValue().toString());
mDbRefKategori.child(childDataSnapshot.child("kategori").getValue().toString()).child("nama").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
item.setKategoriOli(dataSnapshot.getValue(String.class));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mDbRefMerk.child(childDataSnapshot.child("merk").getValue().toString()).child("nama").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
item.setMerkOli(dataSnapshot.getValue(String.class));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
item.setJenisOli(Integer.parseInt(childDataSnapshot.child("jenis").getValue().toString()));
item.setHargaOli(Integer.parseInt(childDataSnapshot.child("harga").getValue().toString()));
item.setKapasitasOli(Double.parseDouble(childDataSnapshot.child("kapasitas").getValue().toString()));
mListOli.add(item);
}
mAdapterOli.notifyDataSetChanged();
mSwlOli.setRefreshing(false);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
代わりにそのキーを取得し、それをユーザーに表示する、私は項目にkategori名を設定するには、このコードitem.setKategoriOli(dataSnapshot.getValue(String.class));
とともにKategori参照子(-Ky0RUaYOgB6gks2t3oY)から「マチック」の値を取得しようとしていますクラス。 最後に私はその "Matic"値を得ることができません、代わりにnull値を得ました。
ASが最初にアイテムクラスでfinalを定義する必要があり、別の内部クラスの中にカテゴリ値を設定しようとしているので、この問題が発生した可能性があります。この問題を解決するのを手伝ってくれますか?
正確に何を検索しますか? –
@PeterHaddad Oliのデータ(ID、nama、kategori、merkなど)のすべてのデータですが、Oliのデータのカテゴリ値の代わりにカテゴリ参照(「Matic」など)の値を取得したい場合もあります – Yoel