android - 错误:找不到符号 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);
}
解决方案
您正在将 设置adapter
为查询,而不是在 listView 上:
而不是这个:
listOfMessages.setAdapter(adapter);
做这个:
yourListView.setAdapter(adapter);
推荐阅读
- c# - 枚举中的枚举
- c# - 如何测试涉及数据库中数据更新的业务逻辑层
- unity3d - 来自 VideoPlayer 的 VideoClp 的音频源的音量控制
- c# - 当datagridview绑定到列表时如何删除选定的行
- java - 如何为管道创建代码段以在 Java 8 中返回重复的字符串
- r - 如何按年份绘制电影类型发行的细分
- javascript - Google Sheets 可安装触发器:整个函数在 try-catch 中,但仍然会出现错误
- asp.net-mvc - 如何根据语言环境从控制器中设置选定的剑道下拉列表值?
- wso2 - 如何使用自定义组件从 ESB 注册表(在 linux 环境中)加载变量
- c++ - cpp_int (boost) 运行时错误:解析字符串时发现意外内容