【发布时间】:2018-03-25 01:07:10
【问题描述】:
我在 android 上为我的学校做了一个应用程序,但我阻止了异步问题:
databaseReference2.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(final DataSnapshot ds: dataSnapshot.getChildren()){
Log.e("test","1");
Menu = ds.getValue(menu.class);
list2.add(Menu.getId().toString());
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
try{
Log.e("test","2");
if(dataSnapshot.child("menuAjoute").child(mail).exists()){
if(dataSnapshot.child("menuAjoute").child(mail).child(Menu.getId()).getValue().equals(Menu.getId())) {
list.add(Menu.getNom());
}
}
}catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Log.e("test","3");
}
要使我的代码正常工作,第 2 步必须在第 3 步之前。但我还没有找到方法。最简单的方法是什么? (我搜索了解决方案,但都没有奏效)。
【问题讨论】:
标签: android firebase asynchronous firebase-realtime-database