2017-10-15 6 views
0

firebaseから更新されたリストがあります。Firebaseのデータが更新される前に使用されていたフィールド

私のmainactivityのonCreateでは、私は変更のためのリスナーを設定します。ただし、次のコード行ではリストがすぐに使用されます。リストが更新される前にこの行が実行されるため、エラーが発生します。

この問題を解決するために私が把握する必要がある概念の名前は何ですか?

+0

おそらく、非同期コールバックですか? –

+0

こんにちはフィリップ、私はすでに私のリストを更新するためにonDataChangeを使用しますが、私のリストはonDataChangeがリストを更新する前に使用されています。私は非同期コールバックを誤解していますか? 編集されました、誤って押されました。 – fool

答えて

0

Firebaseリアルタイムデータベースコールバックは、非同期です。 Firebase SDKの大半を処理するには、非同期プログラミングを学ぶ必要があります。つまり、メソッド呼び出しはすぐに戻り、後でそのメソッドの引数として渡されたコールバックで結果を受け取ることを期待しています。詳細については、documentationを参照してください。

+0

マルチスレッドの代わりに非同期プログラミングを使用して、フィールドが更新されるまで待つ理由を説明してください。 ps:ありがとうダグ! – fool

+0

それは、APIが設計されたばかりの方法です。すべてのスレッドを内部的に処理します。独自のスレッドを実行する必要があるAPIのブロック版はありません。これは、多くの開発者にとって、より安全で簡単に使用できます。 –

+0

OK、ドキュメントを読んだ後、私はこの問題をどのように修正できるかをまだ決めることができません...正しい方向に私を指摘できますか? – fool

関連する問題