我想使用firebaseListAdapter填充列表视图,但是它什么也没做

时间:2019-08-20 11:07:59

标签: java android firebase firebase-realtime-database

我正在使用Firebase制作聊天应用程序,但未显示用于显示聊天的ListView。

我放了Logs并尝试了所有可能的解决方案,但未调用该方法。

以下是我正在使用的依赖项:

implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.firebaseui:firebase-ui-database:4.3.1'
implementation 'com.google.firebase:firebase-auth:18.1.0'
implementation 'com.google.firebase:firebase-database:18.0.1'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.firebaseui:firebase-ui-database:1.1.1'

这是模型类

      package com.example.chattapplication;

      import java.util.Date;

      public class ChattMessage {
      private String messageText;
      private String messageUser;
      private long messageTime;

      public ChattMessage(String messageText, String messageUser) {
        this.messageText = messageText;
        this.messageUser = messageUser;

    messageTime = new Date().getTime();
}

public ChattMessage(){

}

public String getMessageText() {
    return messageText;
}

public void setMessageText(String messageText) {
    this.messageText = messageText;
}

public String getMessageUser() {
    return messageUser;
}

public void setMessageUser(String messageUser) {
    this.messageUser = messageUser;
}

public long getMessageTime() {
    return messageTime;
}

public void setMessageTime(long messageTime) {
    this.messageTime = messageTime;
}
}

这是MainActivity.class中的代码

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

private void displayChatMessage() {
    ListView listofMessage= findViewById(R.id.list_of_message);

    Query query= FirebaseDatabase.getInstance().getReference();
    FirebaseListOptions<ChattMessage> options= new FirebaseListOptions.Builder<ChattMessage>()
            .setQuery(query,ChattMessage.class)
            .setLifecycleOwner(this)
            .setLayout(R.layout.list_item)
            .build();


    adapter= new FirebaseListAdapter<ChattMessage>(options)
    {

        @Override
        protected void populateView(View v, ChattMessage model, int position) {

            Log.d(TAG, "populateView: Function Working");

            TextView messageText,messageUser,messageTime;

            messageText= v.findViewById(R.id.message_text);
            messageUser= v.findViewById(R.id.message_user);
            messageTime= v.findViewById(R.id.message_time);

            messageText.setText(model.getMessageText());
            messageUser.setText(model.getMessageUser());
            messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)",model.getMessageTime()));

        }
    };
    listofMessage.setAdapter(adapter);
}

@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}

我希望显示聊天记录,但不显示。请指导我问题出在哪里,什么地方了。

0 个答案:

没有答案