onDataChange未被调用

时间:2017-05-04 13:34:45

标签: android firebase firebase-realtime-database

我正在编写Android应用,而且我正在使用Firebase。我无法理解为什么没有调用onDataChange函数。

我还在onCancelled中添加了一个日志,所以我理解也没有调用onCancelled函数。数据库的参考是正确的。

textLength = 22; // SET FROM INIT

$('#text').onkeyup(function(){

    currentPosition = getCaretPosition(); // Returns caret position
    newArray = [];
    movePos = (document.getElementById('text').length - textLength);

    for(var i=0; i<sampleArray.length; i++){
        if(i >= currentPosition){
            newArray[i+movePos] = sampleArray[i];
        }else{
            newArray[i] = sampleArray[i];
        }
    }
    sampleArray = newArray;

    textLength = document.getElementById('text').length;

});

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您不应该在getReference()函数中传递数据库的名称吗?

您也可以尝试使用reference.addChildEventListener(...)

答案 1 :(得分:0)

你怎么知道没有调用onDataChange,你没有在那里登录。

其次,您的数据库结构似乎是这样的:

  • 语言

    • 第1项
    • 第1项 ...

如果是这样,你可以直接写

FirebaseDatabase.getInstance().getReference("languages")
                .addListenerForSingleValueEvent(new ValueEventListener() {

                      @Override
                      public void onDataChange(DataSnapshot dataSnapshot) {
                            // Use the children to map to HashMap

                      }
}