ich ein Fragment nennen, und dies hat eine Basis von Firebase für eine Liste zu füllen, und ich rufe es so:zeigt eine Datenbank von Firebase in einem Arraylist aus einem Fragmente
private void getClients() {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("client");
myRef.addValueEventListener(valueEventListener);
}
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot){
readClients(dataSnapshot);
}
@Override
public void onCancelled(DatabaseError error) {}
};
private void readClients(DataSnapshot dataSnapshot) {
for(DataSnapshot dss: dataSnapshot.getChildren()){
Client client = dss.getValue(Client.class);
listClients.add(client);
}
}
Ich habe versucht, Rufen Sie getClients aus createView, onStart und onResume auf, aber zeigen Sie mir die Liste nicht mit den Daten, nur wenn ich diese App minimiere oder für andere Apps ändere und ich die App wieder öffne, zeigt die Liste die Daten an. Wie rufe ich die Datenbank auf oder zeige sie an, erscheint sofort das Fragment?
Anruf adapter.notifyDataSetChanged() auf Listview-Adapter nach der for-Schleife –
Danke !!!! Das ist die Antwort – anfehernandez94
@hello_world Ich sehe Sie die Antwort gelöscht, die Sie gaben. Aber da das die richtige Antwort ist, können Sie es erneut posten (oder wiederherstellen). Wenn Sie beispielsweise einen Link zur Dokumentation von 'notifyDataSetChanged()' und vielleicht sogar ein Beispiel-Snippet hinzufügen, wird es vollkommen akzeptabel sein und Ihnen helfen, Reputation zu erlangen. –