Cloud Firestoreデータベースからユーザーのデータを取得し、それをフラグメントに表示しようとしています。 Firestoreのクエリは非同期で動作するため、Firestore DBからすべてのデータがフェッチされる前にUIがロードされます。私のフラグメントのOnViewCreated
メソッドは、クエリが十分に速くない場合はnullデータを読み込みます。Firestoreはデータの取得中にローディングインジケータを表示します
この問題を回避するにはどうすればよいですか?クエリの処理中にローディングインジケータを表示する必要がありますか?もしそうなら、どのように完了したのか分かりますか?
また、User
クラスのデータを取得し、異なるインスタンス間で同じインスタンスを共有するのがベストプラクティスですか?
答えをありがとう。なぜ 'addOnSuccessListener'ではなく' addOnCompleteListener'ですか?また、あなたがコメントabouot私の最後の質問を含めることができれば素晴らしいだろう。 –
タスクが完了すると 'addOnCompleteListener'が呼び出されるので、その時点でUI要素を表示する必要があります。あなたが活動をするのと同じように、あなたは断片と関係している必要があります。 –
ありがとうございます。そして実際にあなたがリンクしたポストがそのトリックをしました。 –