gpt4 book ai didi

Android: "Cannot Resolve symbol ' addValueEventListener'"在 Firebase 中

转载 作者:行者123 更新时间:2023-11-29 02:41:26 24 4
gpt4 key购买 nike

我已经尝试导入各种 Firebase 包来阻止此错误的发生,但它仍然存在。我正在尝试按照以下方式做一些事情:

   firebase.addValueEventListener(new ValueEventListener() {

但我一直收到错误:

Cannot Resolve symbol 'addValueEventListener'

尽管我导入了 ValueEventListener。 (注意 ValueEventListener 在 IDE 中显示为未使用的导入可能很重要,即使我显然正在尝试使用它)

最佳答案

确保您在 OnStart(){} 等方法或您正在使用的类的构造函数中实例化和添加该方法。如果不是,它的行为将与您描述的类似。

这个问题的一个例子:

public class ReadFromFireBase(){

private DatabaseReference mDatabase;

public ReadFromFireBase(){
}

ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Get Post object and use the values to update the UI
Post post = dataSnapshot.getValue(Post.class);
// ...
}

@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
// ...
}
};
mDataBase.addValueEventListener(postListener);




}

这将不起作用并抛出与您所得到的类似的错误,考虑到监听器的结构方式,这是一个很容易犯的错误

正确的方法应该是这样的:

public class ReadFromFireBase(){

private DatabaseReference mDatabase;
private ValueEventListener postListener;


public ReadFromFireBase(){
postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Get Post object and use the values to update the UI
Post post = dataSnapshot.getValue(Post.class);
// ...
}

@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
// ...
}
};
mDataBase.addValueEventListener(postListener);
}






}

关于Android: "Cannot Resolve symbol ' addValueEventListener'"在 Firebase 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43750662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com