首页 > 解决方案 > 错误:找不到符号 setAdapter(FirebaseListAdapter)

问题描述

我正在创建一种在 listView 上显示聊天列表项的方法,但由于不向后兼容,我不得不更改代码,此后出现错误listOfMessages.setAdapter(adapter);

代码有很多编辑,所以我想我搞砸了??

  private void displayChatMessages(){
            //ListView listOfMessages = (ListView)findViewById(R.id.list_of_messages);
            Query listOfMessages = FirebaseDatabase.getInstance().getReference().child("chats");
            FirebaseListOptions<ChatMessage> options =
                    new FirebaseListOptions.Builder<ChatMessage>()
                            .setQuery(listOfMessages, ChatMessage.class)
                            .setLayout(android.R.layout.activity_list_item)
                            .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 = (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());

                    // Format the date before showing it
                    messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)", model.getMessageTime()));
                }

            };

            listOfMessages.setAdapter(adapter);
        }

标签: androidfirebasefirebase-realtime-databasefirebaseui

解决方案


您正在将 设置adapter为查询,而不是在 listView 上:

而不是这个:

listOfMessages.setAdapter(adapter);

做这个:

yourListView.setAdapter(adapter);

推荐阅读