Java FirebaseRecyclerAdapter不';t覆盖数据已更改
如果我的数据库仍在加载,则显示加载对话框。这就是我想让我的聊天应用程序工作的原因。我发现我的问题可以通过在我的Java FirebaseRecyclerAdapter不';t覆盖数据已更改,java,android,firebase,firebase-realtime-database,firebaseui,Java,Android,Firebase,Firebase Realtime Database,Firebaseui,如果我的数据库仍在加载,则显示加载对话框。这就是我想让我的聊天应用程序工作的原因。我发现我的问题可以通过在我的FirebaseRecyclerAdapter中重写onDataChanged()来解决,如下代码所示 new FirebaseRecyclerAdapter(...) { @Override protected void populateViewHolder(...) {...} @Override protected void onDataChanged() { } };
FirebaseRecyclerAdapter
中重写onDataChanged()
来解决,如下代码所示
new FirebaseRecyclerAdapter(...) {
@Override
protected void populateViewHolder(...) {...}
@Override
protected void onDataChanged() {
}
};
但问题是我无法将onDataChanged()
覆盖到我的适配器。
我如何解决这个问题?请看下面我的截图
更新:
这是与我的问题相关的全部代码(不需要发布其他代码)
接二连三
Message.java
public class Message {
private String content;
private String Username;
private String time;
public Message() {}
public Message(String mcontent, String musername, String mtime) {
this.content = mcontent;
this.Username = musername;
this.time = mtime;
}
public String getContent() {
return content;
}
public void setContent(String message) {
this.content = message;
}
public String getUsername() {
return Username;
}
public void setUsername(String Username) {
this.Username = Username;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
您使用的是较旧版本的
firebaseui
,在较旧版本中,onDataChanged
不在覆盖方法中。您可以通过单击ALT+INS查看属于此类的所有重写方法来看到这一点
您需要使用以下最新版本:
implementation 'com.firebaseui:firebase-ui-database:3.1.1'
然后可以使用onDataChanged
和其他方法。升级时,您还必须使用FirebaseRecyclerOptions
,有关更多信息,请查看以下指南:
向我们展示您的全部代码(适配器)谢谢@WaleedAsim先生。请看我上面更新的帖子。谢谢你的回答。当我更改firebaseui的版本时,其他依赖项将变为红色。提示说
所有gms/firebase库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本11.6.2、11.0.4。示例包括com.google.android.gms:play services basic:11.6.2和com.google.android.gms:play services ads:11.0.4
让我先解决这个问题,然后我会接受你的正确答案。:-)最后确认你的答案是正确的。。谢谢你的帮助,@Peter Haddad先生。@basaya没问题,编码快乐!
public class Message {
private String content;
private String Username;
private String time;
public Message() {}
public Message(String mcontent, String musername, String mtime) {
this.content = mcontent;
this.Username = musername;
this.time = mtime;
}
public String getContent() {
return content;
}
public void setContent(String message) {
this.content = message;
}
public String getUsername() {
return Username;
}
public void setUsername(String Username) {
this.Username = Username;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
implementation 'com.firebaseui:firebase-ui-database:3.1.1'