so meine Frage sagt alles. In OnCreate versuche ich, Objekte abzufragen, aber ich möchte, dass der UI-Thread wartet, bis ich alle meine Objekte abgefragt habe, damit ich mit ihnen Ansichten erstellen kann, die mein Benutzer sehen kann. Kann jemand das mit Beispielcode machen?Wie wird der UI-Thread angehalten, bis die Firebase-Abfrage abgeschlossen ist?
hier ist wie ich abfrage.
Firebase cardReference = mRef.child("aReference");
cardReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
CardModel fireBaseCard = dataSnapshot1.getValue(CardModel.class);
testCardModelArray.add(fireBaseCard);
cardStack.setCardModelIDInArrayList(fireBaseCard.getCardID());
}
setUpCardStack();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
Ich hoffe, ihr könnt helfen!
Verwenden Sie einen Ladebildschirm, der bis zu dem Zeitpunkt, dass Sie Ihre Abfrage beenden? –
Sie möchten den UI-Thread definitiv nicht einfrieren. Das ist UX-Hölle und eine todsichere Möglichkeit, App-Downloads zu verlieren. Verwenden Sie eine Art von Lademechanismus (Ex-Fortschrittsbalken, Ladebildschirm, etc.) – mastrgamr
Sie besser verwenden Splash-Screen (Aktivität). Siehe dieses Beispiel: http://www.androidhive.info/2013/07/how-to-implement-android-splash-screen-2/ –