Ich bin neu in Android-Programmierung. Ich möchte alle Kinderlisten von Firebase in Android auflisten.Liste Kinder in Android
Ich habe diesen Code geschrieben. Aber wenn ich die Anwendung starte, gibt die ListView null zurück.
Was mache ich falsch?
public class haber_goruntule extends AppCompatActivity {
private ListView liste;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_haber_goruntule);
final List<connector_haber> mesajlar=new ArrayList<connector_haber>();
liste= (ListView) findViewById(R.id.list);
FirebaseDatabase firebaseDatabase=FirebaseDatabase.getInstance();
DatabaseReference ref=firebaseDatabase.getReference();
ref.child("haberler").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterable<DataSnapshot> children=dataSnapshot.getChildren();
for(DataSnapshot child : children){
connector_haber haber=child.getValue(connector_haber.class);
mesajlar.add(haber);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
final ArrayAdapter<connector_haber> arrayAdapter=new ArrayAdapter<connector_haber>(this,android.R.layout.simple_list_item_1,mesajlar);
liste.setAdapter(arrayAdapter);
}
}
Hallo @ Kevin. Bitte stellen Sie sicher, dass Sie die Daten in onDataChange im Debug-Modus oder mit Log-Anweisungen erhalten. Bitte fügen Sie auch 'arrayAdapter.notifyDataSetChanged()' Anruf als letzte Zeile in OnDataChange Callback –
können Sie auch Child-Listener https://firebase.google.com/docs/reference/android/com/google/firebase/database/ ChildEventListener auf diese Weise brauchen Sie nicht den Iterator, aber müssen die Daten zum Adapter jedes Mal hinzugefügt werden – cutiko