簡體   English   中英

如何從Firebase數據庫獲取數據並將其填充到ListView中

[英]How to get Data from a Firebase Database and populate them in a ListView

{
  "chat_room" : {
    "-Kp_ldAz7_g3W4riNkJY" : {
      "message" : "Hello!",
      "uname" : "Praveen"
    }
  }
}

這是我的Firebase DB jSON文件,用於一條聊天消息,我嘗試了以下創建的名為“ appendChat()”的方法來在ListView上填充數據庫。

但由於某種原因,ListView只顯示最后發送的消息

    private void appendChat(DataSnapshot dataSnapshot) {
            final ArrayList<String> chatListArr = new ArrayList<String>();
            Iterator i = dataSnapshot.getChildren().iterator();
            while (i.hasNext()) {
                chatListArr.add((String) ((DataSnapshot) i.next()).getValue());
                chatListArr.add((String) ((DataSnapshot) i.next()).getValue());

           }
            ArrayAdapter arrayAdapter = new ArrayAdapter(getActivity().getApplicationContext(), android.R.layout.simple_list_item_2,android.R.id.text1, chatListArr);
            chatList.setAdapter(arrayAdapter);
}

我的ListView有一個用於用戶名的字符串和一個用於消息的子字符串,我如何更改代碼以檢索數據庫值並在ListView中填充為

username:
   message

問題在於,每次接收到消息時,您都在創建一個全新的ArrayAdapter 這將有效刪除所有先前的消息。 我建議您在onCreate()創建一次ArrayAdapter 然后,您可以將數據添加到ArrayList並在適配器上調用notifyDataSetChanged()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM