Heim > Java > javaLernprogramm > Warum zeigt mein FirebaseListAdapter keine einzelnen Elemente in Firebase-UI 3.1 an?

Warum zeigt mein FirebaseListAdapter keine einzelnen Elemente in Firebase-UI 3.1 an?

Susan Sarandon
Freigeben: 2024-12-26 02:35:09
Original
851 Leute haben es durchsucht

Why Doesn't My FirebaseListAdapter Display Individual Items in Firebase-UI 3.1?

FirebaseListAdapter zeigt in Firebase-Ui 3.1 keine einzelnen Elemente an

Firebase-Ui 3.1 führt einige Änderungen an seiner API ein, insbesondere für den FirebaseListAdapter . Der ursprüngliche Code, der zum Erstellen des Listenadapters verwendet wurde, ist nicht mehr gültig, was dazu führt, dass in der ListView keine Daten angezeigt werden.

Um dieses Problem zu beheben, muss der Code aktualisiert werden, um den neuen Anforderungen zu entsprechen:

FirebaseListOptions<ChatMessage> options = new FirebaseListOptions.Builder<ChatMessage>()
        .setQuery(FirebaseDatabase.getInstance().getReference("Lobbies").child(leaderID).child("Messages"), ChatMessage.class).setLayout(R.layout.message).build();

adapter = new FirebaseListAdapter<ChatMessage>(options) {
    @Override
    protected void populateView(View v, ChatMessage model, int position) {
        // Get references to the views of message.xml
        TextView messageText = v.findViewById(R.id.message_text);
        TextView messageUser = v.findViewById(R.id.message_user);
        TextView messageTime = v.findViewById(R.id.message_time);

        // Set their text
        messageText.setText(model.getMessageText());
        messageUser.setText(model.getMessageUser());

        // Format the date before showing it
        messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)",
                model.getMessageTime()));
    }
};
Nach dem Login kopieren

Darüber hinaus ist es wichtig, das Abhören von Änderungen in der Datenbank zu starten und zu stoppen, um die Daten anzuzeigen und Speicherlecks zu vermeiden. Dies kann durch Hinzufügen der folgenden Methoden erreicht werden:

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}


@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum zeigt mein FirebaseListAdapter keine einzelnen Elemente in Firebase-UI 3.1 an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage