【发布时间】:2018-03-03 11:25:57
【问题描述】:
我在我的 Android 应用上使用 Firebase,我知道如何使用 EventListener 从数据库中获取数据。到目前为止还不错。
我的问题是:我有一个 ReciclerView,它显示来自数据的信息,但仅当我修改数据库时。如果我关闭应用程序并再次打开,它不会显示任何内容。然后,我修改了一些内容并在容器中显示了我的所有元素。
有什么方法可以加载这些数据而不等待事件,而是手动获取?
提前谢谢你。
更新 1(这是我完美运行的代码):
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
listaDeLyrics.clear();
for (DataSnapshot lyricFromFB : dataSnapshot.getChildren()){
LyricCard lc = lyricFromFB.getValue(LyricCard.class);
listaDeLyrics.add(lc);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我想在不使用 EventListener 的情况下获取数据。
解决方案:我在创建 RecyclerView 之前修复了它从数据库中保存数据。似乎什么都不显示,因为列表是空的(但我不明白为什么它没有响应列表上的更改)
注意:addValueEvent 也是第一次工作,即使没有修改。它在声明时获取信息,然后在事件发生时获取信息。 singleValueEvent 的工作方式完全相同,不同之处在于它只执行一次,只是侦听的第一个事件。
我希望这也可以帮助别人。
【问题讨论】:
-
请添加您的代码。
-
我认为不需要添加任何代码。我没有错误。这只是一个问题。但是好的,我将分享一部分代码。
标签: java android database firebase