每次我更改firebase中的子值时,App都会重新创建

时间:2017-08-26 10:45:06

标签: android firebase

我正面临着一个非常令人沮丧的问题,如果你能在这里给我一个提示,我将不胜感激。我正在使用firebase数据库创建一个应用程序。问题是我有一个名为(everyone)的子节点;在(每个人)内部有4个具有值的子子键 - 它看起来像这样:

everyone
|
|-name: jim
 -haircolor: black
 -height: 175cm
 -hobbies: none

现在(所有人)节点被我的应用程序中的所有其他活动使用,我使用ValueEventListener监听此节点。

当我尝试编辑某个子子时出现问题。例如,如果我想编辑(名称),编辑将导致我的应用程序一遍又一遍地重新创建。子孙的值在firebase控制台中编辑,我对此没有任何问题;唯一的问题是我的应用程序的主要活动的重新创建循环。我并不真正知道原因,因为应用程序没有出现任何问题,因为应用程序不会崩溃,它只会重新创建它:(从非活动上下文调用startactivity)。

抱歉,我没有发布任何其他代码,因为文件太多,我不知道问题是由于。我预测,当在其他活动中调用onchildchanged时, ValueEventListener发生了什么事情..除此之外,我一无所知。

感谢您花时间阅读本文。

1 个答案:

答案 0 :(得分:0)

当您更新everyone节点中的值时,将调用附加到该节点的所有侦听器,因为侦听器为valueEventListener。你需要检查数据变化,看看哪个活动应该处理变化。 此外,我假设所有活动都在运行,即没有活动已经完成。