首頁 > Java > java教程 > 為什麼我的 FirebaseListAdapter 不顯示 Firebase-UI 3.1 中的單一項目?

為什麼我的 FirebaseListAdapter 不顯示 Firebase-UI 3.1 中的單一項目?

Susan Sarandon
發布: 2024-12-26 02:35:09
原創
851 人瀏覽過

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

FirebaseListAdapter 無法在Firebase-Ui 3.1 中顯示單一項目

Firebase-Ui 3.1 對其API 進行了一些更改,特別是FirebaseListAdapter 。用於建構清單適配器的原始程式碼不再有效,導致 ListView 無資料顯示。

要解決此問題,需要更新程式碼以符合新要求:

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()));
    }
};
登入後複製

此外,啟動和停止監聽資料庫中的變更以顯示資料並避免記憶體洩漏是至關重要的。這可以透過添加以下方法來實現:

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


@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}
登入後複製

以上是為什麼我的 FirebaseListAdapter 不顯示 Firebase-UI 3.1 中的單一項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板