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())); } };
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(); }
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!