Firebase addValueEventListener 未触发

Vel*_*ell 5 java android firebase firebase-realtime-database

上周左右,我在从 Firebase 数据库检索数据时遇到了麻烦。我在 StackOverflow 和 google 上搜索了这个问题的答案,要么我不理解所提出的解决方案,要么它们根本不适合我。一切都被成功调用,直到我到达 valueEventListener。我已经记录了所有内容,但它从未触发。错误处理程序不返回任何错误。

public class DBHandler {
    private FirebaseAuth mAuth = FirebaseAuth.getInstance();

    private String key;

    public ArrayList<String>tips,tables,times;

    private DatabaseReference mDatabase;

    private DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference();
    private DatabaseReference mPostRef = mRootRef.child("user-posts");
    private DatabaseReference mIdRef = mPostRef.child(mAuth.getCurrentUser().getUid());
    private DatabaseReference mKeyRef;//move down
    private DatabaseReference mTimeRef;
    private DatabaseReference mTipRef;
    private DatabaseReference mTableRef;

    public DBHandler(){
        //Constructor
    }

    public DBHandler(String key) {
        tips(key);
        Log.d("Test for tips()", "Triggered");
    }

    public void tips(String key){
        mKeyRef = mIdRef.child(key);
        mTipRef = mKeyRef.child("tips");

        Log.d("Test for reference", "mTipRef: " + mTipRef.getRef());

        mTipRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Log.d("Test for listener", "Triggered");

                ArrayList<String> placeholder= new ArrayList<String>();
                placeholder = dataSnapshot.getValue(ArrayList.class);
                Log.d("Test for placeholder", "placeholder: " + placeholder);

                tipsHolder(placeholder);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) { }
        });

    }

    private void tipsHolder(ArrayList<String> placeholder) {
        this.tips = placeholder;
    }

    public void times(String key){ }
    public void tables(String key){ }
    public void tablesHolder(ArrayList<String> placeholder){ }
    public void timesHolder(ArrayList<String> placeholder){ }
}
Run Code Online (Sandbox Code Playgroud)

预先感谢所有试图帮助我解决这个头痛问题的人。