我创建了一个显示聊天消息的函数,遵循了教程,并且查看了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);
}
从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");
更多信息在这里:
使用FirebaseUI填充ListView
我正在寻找在Android中使用列表适配器和Recyview适配器的区别。关于性能的任何不同,使用它们的利弊。
编辑:需要知道如何创建由Textview填充的
变量'viewholder'、'position'&model'是从内部类访问的,它需要声明为final,但当我将其声明为final时,在适配器中显示错误。我正在使用Firebase 11.2.0请帮助我
错误: 错误:(21,9)错误:找不到适合ArrayAdapter(UserLogedIn.ViewTicket,int,String[])的构造函数ArrayAdapter.ArrayAdapter(Context,int,int)不适用(参数不匹配;UserLogedIn.ViewTicket无法转换为上下文)构造函数ArrayAdapter.ArrayAdapter(Context,int,
我无法填充Firebase回收适配器。我最终想做的是,用户搜索一个名称,数据库中的结果将填充回收人员视图。 数据库结构如下所示: 要填充的代码如下所示,全部位于: 现在我只想让它填充数据库中的所有用户,但似乎什么都没有填充。 是一个。 这是UsersViewHolder类:公共静态类UsersViewHolder扩展了RecyclerView。视图持有者{View mView;TextView m
AdapterClass: 提前感谢你的帮助。