android - 使用 Firebase 时无法计算儿童数量
问题描述
我正在尝试获取孩子的数量。
public int get_number_of_children_place() {
myRef.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists())
lastRow=(int) dataSnapshot.getChildrenCount();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
myRef.child("0").child("name").setValue("3f");
return lastRow;
{
lastRow 和 myRef 被定义为全局。问题是如果从 onCreate 方法调用此代码将不起作用...在单击事件调用时它可以正常工作。问题是如何让它在 oncreate 方法上工作......谢谢
public class addPlaces extends AppCompatActivity {
int lastRow=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_places);
myRef = FirebaseDatabase.getInstance().getReference().child("place");
int rowNo=get_number_of_children_place();// this says rowNo = 0
}
public void on_press(View view){
int rowNo=get_number_of_children_place();// this says rowNo = 5(number of children)
}
解决方案
推荐阅读
- android - 在 IOS 上从 Flutter 启动 Whatsapp 时出现问题
- jira-zephyr - 如何使用带有量角器框架的 zapi(rest Api)在 jira 中更新测试执行状态(Pas/Fail)
- scala - 如何使用scala找到元组值?
- javascript - 使用初始化的 useState 的目的
- r - 如何在不使用 print() 的情况下打印函数的结果?
- python-3.x - 如何在 django 模板中获取 for 循环内的列表的下一个元素?
- flutter - 如何在颤动中动态禁用工具提示?
- bash - Shell 命令“find -name $variable”未按预期工作
- vega-lite - Vega lite Top 10 主机按字段得分总和降序排列
- javascript - 允许用户读取、写入自己的文档 Firestore