程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Firebase列表适配器构造器错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Firebase列表适配器构造器错误?

开发过程中遇到Firebase列表适配器构造器错误的问题如何解决?下面主要结合日常开发的经验,给出你关于Firebase列表适配器构造器错误的解决方法建议,希望对你解决Firebase列表适配器构造器错误有所启发或帮助;

从firebaseui 3.0+版本中隐含以下内容

删除此:

   adapter = new Firebaselistadapter<ChatMessage>(this,ChatMessage.class,R.layout.List_item,FirebaseDatabase.getInstance().getReference())

你需要添加以下内容:

FirebaseListOptions<ChatMessage> options =
            new FirebaseListOptions.Builder<ChatMessage>()
                    .setquery(query, ChatMessage.class)
                     .setLayout(androID.R.layout.simple_List_item_1)
                    .build();
 adapter = new Firebaselistadapter<ChatMessage>(options){

query是你对列表适配器示例进行的查询:

query query = FirebaseDatabase.getInstance().getReference().child("chats");

解决方法

我创建了一个显示聊天消息的功能,遵循了教程,并且查看了Firebase列表适配器的文档,但是无论我做什么,都会出现此错误:

Error:(98,19) error: constructor FirebaseListAdapter in class 
FirebaseListAdapter<T> cannot be applied to given types; 
required: FirebaseListOptions<ChatMessage>
found: Chat,Class<ChatMessage>,int,DatabaseReference
reason: actual and formal argument lists differ in length
where T is a type-variable:
T extends Object declared in class FirebaseListAdapter

这是我的代码:

private void displayChatMessage() {

    ListView listOfMessage = (ListView)findViewById(R.id.list_of_messages);

    FirebaseRecyclerOptions<ChatMessage> options =
            new FirebaseRecyclerOptions.Builder<ChatMessage>()
                    .setQuery(query,ChatMessage.class)
                    .build();
    adapter = new FirebaseListAdapter<ChatMessage,Holder>(options){
        @Override
        protected void populateView(View v,ChatMessage model,int position) {

            //Get references to the views of list_item.xml
            TextView messageText,messageUser,messageTime;
            messageText = (TextView) v.findViewById(R.id.message_text);
            messageUser = (TextView) v.findViewById(R.id.message_user);
            messageTime = (TextView) 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);
}

大佬总结

以上是大佬教程为你收集整理的Firebase列表适配器构造器错误全部内容,希望文章能够帮你解决Firebase列表适配器构造器错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: