这个问题在这里已经有答案了:
getcontactsfromfirebase()方法返回空列表(1个答案)
java—如何在事件侦听器中更改“local”变量(6个答案)
11天前关门了。
大家好,我需要这部分java代码的帮助
public void getMydata() {
String B;
databaseAds= FirebaseDatabase.getInstance().getReference().child("AdmbAd");
databaseAds.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String myBannerID = snapshot.child("bannerId").getValue().toString();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
问题是如何修改这段代码来影响我从服务器(在ondatachange方法中)得到的mybannerid的值到这个方法之外的字符串b?
2条答案
按热度按时间cngwdvgl1#
您将无法从回调中修改局部变量
不管你用你的手做什么
B
string,你需要在onDataChange
方法也要当心
addValueEventListener
是一个异步进程,所以如果您编写很有可能输出是
frebpwbc2#
因为您正在进行的调用是异步的,所以可以使用java.lang.reflect.method在getmydata方法中设置回调函数
调用方法对象的方式是