java - FirebaseListAdapter 无法应用
问题描述
我尝试使用视频教程与 android 聊天,但出现错误:https ://i.stack.imgur.com/6TkD6.png
依赖:https ://i.stack.imgur.com/GUwmI.png
private void displayAllMessages() {
ListView listOfMessages = findViewById(R.id.list_of_messages);
adapter= new FirebaseListAdapter<Message>(this, Message.class, R.layout.list_item, FirebaseDatabase.getInstance().getReference()) {
@Override
protected void populateView(View v, Message model, int position) {
TextView mess_user, mess_time, mess_text;
mess_user = v.findViewById(R.id.message_user);
mess_time = v.findViewById(R.id.message_time);
mess_text = v.findViewById(R.id.message_text);
mess_user.setText(model.getUserName());
mess_text.setText(model.getTextMessage());
mess_time.setText(DateFormat.format("dd-MM-yyyy HH:mm:ss", model.getMessageTime()));
}
};
listOfMessages.setAdapter(adapter);
}
请帮我弄清楚
解决方案
由于您使用的是新版本的 FirebaseUI,因此您需要将代码更改为以下内容:
FirebaseListOptions<Message> options =
new FirebaseListOptions.Builder<Message>()
.setQuery(FirebaseDatabase.getInstance().getReference(), Message.class)
.setLayout(R.layout.list_item)
.build();
adapter = new FirebaseListAdapter<Message>(options){
@Override
protected void populateView(View v, Message model, int position) {
//...
}
你可以在这里查看:
了解更多信息
推荐阅读
- ios - 标有 @objc 的 Swift 类未添加到混合 Objective-C/Swift 框架中的“-Swift.h”标头中
- heroku - 如何复制我的 Heroku 应用程序以添加到管道?
- python - 需要帮助创建一个伪虚拟变量,而不是 '1' 使用来自另一列的值
- spring-boot - 如何通过环境禁用 gradle 插件
- java - 当我尝试将数据插入 sqlte 时发生错误
- sql - 仅使用时间戳识别数据中的数据间隙
- c# - Regex.Split 返回重复字符串的“非引用空格”
- splunk - 如何(仍然)在字符串中间使用通配符?
- android - 不能将RelativeLayout 转换为ImageView?
- clojure - 这个 Clojure 函数如何扩展?