Cześć,
w firebase utworzyłem sobie strukturę:
I chciałbym aby apka zaczytywała wszystkie childy, czyli Belgia, Czechy, Francja itd i dodawała je do pola tekstowego, po nacśnięciu buttona. Akcja podpięta pod button:
public void f_btn_zaczytaj_dane(View view) {
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String value = dataSnapshot.getValue(String.class);
TextView txt_opis_panstwa = (TextView) findViewById(R.id.txt_opis_panstwa);
txt_opis_panstwa.setText(value);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
Oczywiście wcześniej zadeklarowałem:
FirebaseDatabase database;
DatabaseReference myRef;
database = FirebaseDatabase.getInstance();
myRef = database.getReference("kraj");
I nie bangla. Po naciśnięciu buttona nic się nie dzieje...
Co robię nie tak?
dodana zawartość
Problem rozwiązany. Dla potomnych kod:
DatabaseReference myRef;
myRef = FirebaseDatabase.getInstance().getReference("kraj");
public void pobierzDane(View view) {
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
TextView txt_opis_panstwa = (TextView) findViewById(R.id.txt_opis_panstwa);
txt_opis_panstwa.setText("");
for (DataSnapshot panstwoSnapshot : dataSnapshot.getChildren()) {
Panstwo panstwo = panstwoSnapshot.getValue(Panstwo.class);
String nazwaPanstwa = panstwo.getNazwa();
String iloscMieszkancow = panstwo.getLudnosc();
txt_opis_panstwa.append("Państwo: " + nazwaPanstwa + " Liczba mieszkańców: " + iloscMieszkancow + "\n");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
Pozdo!