java - 当我尝试从 firebase 方法中的内部类访问变量时,我得到“null”
问题描述
我正在尝试获取内部类中的变量的值,该值被firebase“addValueEventListener”覆盖,但是当我尝试在这些方法之外打印出值时,我总是得到“NULL”。这是我的代码:
DatabaseReference reff = database.getReference().child("Users").child(userId);
reff.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User r= dataSnapshot.getValue(User.class);
username= r.getUserN();
//当我尝试在这里打印出用户名的值时,它会显示出来
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
DatabaseReference ref = database.getReference().child("service").child(b);
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Service s = dataSnapshot.getValue(Service.class);
servicename=s.getNomservice();
//与用户名相同,我得到值
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
rv = new Rv(username,servicename,dt,tm);
RVId = myRef.push().getKey();
myRef.child(RVId).setValue(rv);
//在这里,当我打印出用户名和服务名时,我得到 null
解决方案
推荐阅读
- angular - angular 6、表格、按钮点击计算
- crystal-lang - Amber Crecto:与 LEFT JOIN 的预加载关联
- c++ - 常量和非常量访问器,将被调用
- text - 使用 ARKit 和 Vision(?) 替换真实世界的文本
- xml - 在动作脚本中通过关联 xml 进行交互的问题
- java - 在 Java 控制台中打印一行('\n' 的反面)
- c# - 使用 REST 的客户端证书问题
- android - 将数据从一个列表视图传递到另一个文本视图
- c# - 首先从 EF6 数据库中的 DbSet 获取外键字段
- android - ProgressBar 的进度在旋转或调整大小时显示错误