Java Can';t将ArrayList类型的对象转换为我的模型

Java Can';t将ArrayList类型的对象转换为我的模型,java,listview,firebase,arraylist,firebase-realtime-database,Java,Listview,Firebase,Arraylist,Firebase Realtime Database,在尝试使用firebase实现一个简单的聊天应用程序时,我遇到了下面记录的错误。 我注意到的一件事是,前面的消息将被加载,但我尝试滑动到最后一条消息的一个实例,然后应用程序在给出下面的日志时崩溃。 我将真诚地感谢有人帮助我了解这一事件的原因。 谢谢 com.google.firebase.database.DatabaseException:无法转换对象 类型为java.util.ArrayList,类型为chat.ChatMessage 位于com.google.android.gms.int

在尝试使用firebase实现一个简单的聊天应用程序时,我遇到了下面记录的错误。 我注意到的一件事是,前面的消息将被加载,但我尝试滑动到最后一条消息的一个实例,然后应用程序在给出下面的日志时崩溃。 我将真诚地感谢有人帮助我了解这一事件的原因。 谢谢

com.google.firebase.database.DatabaseException:无法转换对象 类型为java.util.ArrayList,类型为chat.ChatMessage 位于com.google.android.gms.internal.zzamy.zze(未知来源) 位于com.google.android.gms.internal.zzamy.zzb(未知来源) 在com.google.android.gms.internal.zzamy.zza(未知来源) 位于com.google.firebase.database.DataSnapshot.getValue(未知源) 在 FirebaseListAdapter.parseSnapshot(FirebaseListAdapter.java:120) 在 FirebaseListAdapter.getItem(FirebaseListAdapter.java:109) 在 com.firebase.ui.database.FirebaseListAdapter.getView(FirebaseListAdapter.java:137) 在android.widget.AbsListView.obtainView(AbsListView.java:2485)中 位于android.widget.ListView.makeAndAddView(ListView.java:1945) 在android.widget.ListView.fillDown(ListView.java:710)中 在android.widget.ListView.fillGap(ListView.java:674) 在android.widget.AbsListView.trackMotionScroll(AbsListView.java:5534)上 在android.widget.AbsListView$FlingRunnable.run(AbsListView.java:5030) 在 Choreographer$CallbackRecord.run(Choreographer.java:800) 位于android.view.Choreographer.doCallbacks(Choreographer.java:603) 在android.view.Choreographer.doFrame(Choreographer.java:571) 在 Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:786) 位于android.os.Handler.handleCallback(Handler.java:815) 位于android.os.Handler.dispatchMessage(Handler.java:104) 位于android.os.Looper.loop(Looper.java:194) 位于android.app.ActivityThread.main(ActivityThread.java:5682) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:963) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)

这是我正在使用的聊天信息模型

public class ChatMessage {

    private String messageText;
    private String messageUser;
    private long messageTime;

    public ChatMessage(String messageText, String messageUser) {
        this.messageText = messageText;
        this.messageUser = messageUser;
        messageTime = new Date().getTime();
    }

    public ChatMessage(){

    }

    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;
    }
}
我的显示聊天信息是

private void displayChatMessages() throws DatabaseException {
        ListView listOfMessages = (ListView)findViewById(R.id.list_of_messages);
try{
        adapter = new FirebaseListAdapter<ChatMessage>(this, ChatMessage.class,
                R.layout.message_activity, FirebaseDatabase.getInstance().getReference()) {
            @Override
            protected void populateView(View v, ChatMessage model, int position) {
                // Get references to the views of message.xml
                TextView messageText = (TextView)v.findViewById(R.id.message_text);
                TextView messageUser = (TextView)v.findViewById(R.id.message_user);
                TextView messageTime = (TextView)v.findViewById(R.id.message_time);

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

        listOfMessages.setAdapter(adapter);
    }catch (DatabaseException ex){
    ex.printStackTrace();
    }}
private void displayChatMessages()引发DatabaseException{
ListView listOfMessages=(ListView)findViewById(R.id.list of_消息);
试一试{
adapter=新的FirebaseListAdapter(此,ChatMessage.class,
R.layout.message_活动,FirebaseDatabase.getInstance().getReference()){
@凌驾
受保护的void populateView(视图v、聊天信息模型、int位置){
//获取对message.xml视图的引用
TextView messageText=(TextView)v.findviewbyd(R.id.message\u text);
TextView messageUser=(TextView)v.findviewbyd(R.id.message\u user);
TextView messageTime=(TextView)v.findViewById(R.id.message\u time);
//设置他们的文本
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
messageTime.setText(DateFormat.format(“dd-MM-yyyy(HH:MM:ss)”,
model.getMessageTime());
}
};
setAdapter(适配器);
}捕获(DatabaseException-ex){
例如printStackTrace();
}}

我遵循了本教程,您正在检索元素列表,并希望将其转换为on object,您需要声明一个
ArrayList
并将其设置为返回的数据非常感谢您的时间…我将非常感谢我将如何执行它。您需要共享一些代码,以便我们可以为您提供更多帮助。我使用的代码是相同的