Ich möchte einige Benutzerdaten, die ich von FireBase
als Name, Alter, Geschlecht und Geburtstag bekomme. Ich habe einen FireBase
Listener und die Liste muss jedes Mal aktualisiert werden, wenn die Datenbank geändert wird.Custom ListView Adapter von Firebase
Dies ist, wie ich Daten an den Adapter zu
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textNameList"
android:textSize="25dp"
android:textAlignment="textStart"
android:text="Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/textAgeList"
android:textSize="15dp"
android:textAlignment="textStart"
android:text="Age"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/textBirthdayList"
android:textSize="15dp"
android:textAlignment="textStart"
android:text="Birthday"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/textGenderList"
android:textSize="15dp"
android:textAlignment="textStart"
android:text="gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
</RelativeLayout>
Wenn möglich möchte ich Liste und Bild von der Datenbank auflisten möchten gesendet
private void list(String Name){
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mUser);
mListView.setAdapter(arrayAdapter);
mUser.add(Name,Age,Gender,Birthday);
arrayAdapter.notifyDataSetChanged();
}
Dies ist das Layout ich.
Verwenden addValueEvent listner es alle Änderungen passieren in diesem Knoten hören 'ref.addValueEventListener (neu ValueEventListener() {} ' –
Vielen Dank, aber das Problem ist der ListView-Adapter, um die Daten zu zeigen –
Sie müssen dieses 'final ArrayAdapter arrayAdapter = new ArrayAdapter <> (das, android.R.layout.simple_list_item_1, mUser); mlistView.setAdapter (arrayAdapter); ' außerhalb, und nur die neuen Werte aus der Datenbank hinzufügen, um die Liste 'mUser.add (Name, Alter, Geschlecht, Geburtstag);' dann gesetzt 'arrayAdapter.notifyDataSetChanged();' –