Firebase列表适配器构造函数错误
我创建了一个显示聊天消息的函数,我按照教程,我也查看了Firebase列表适配器的文档,但无论我做什么,我都会收到此错误:
Error:(98, 19) error: constructor FirebaseListAdapter in class FirebaseListAdapter cannot be applied to given types; required: FirebaseListOptions found: Chat,Class,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 options = new FirebaseRecyclerOptions.Builder() .setQuery(query, ChatMessage.class) .build(); adapter = new FirebaseListAdapter(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); }
以下内容来自FirebaseUI 3.0+版本
删除这个:
adapter = new FirebaseListAdapter(this,ChatMessage.class,R.layout.list_item,FirebaseDatabase.getInstance().getReference())
你需要添加这个:
FirebaseListOptions options = new FirebaseListOptions.Builder () .setQuery(query, ChatMessage.class) .setLayout(android.R.layout.simple_list_item_1) .build(); adapter = new FirebaseListAdapter (options){
query
是您为列表适配器示例进行的查询:
Query query = FirebaseDatabase.getInstance().getReference().child("chats");
更多信息:
使用FirebaseUI填充ListView