チャット ( ListView
) があり、必要なときにのみ読み込めるメッセージがあります。
そのため、チャットが最初に読み込まれるときに最後の n メッセージを読み込み、ユーザーが上にスクロールしたときに古いメッセージも取得したいと考えています。
新しいメッセージが firebase コレクションに到着するたびに、ListView
. これは、最後の n メッセージのストリームを取得する a を使用して実現しましたStreamBuilder
。ここで、n は、より多くのメッセージをロードするために増やすことができる状態に格納された変数です (最後の n メッセージのストリームを取得する関数の引数です)。 .
しかし、私の現在の実装では、上にスクロールするとより多くのメッセージがフェッチされてリストビューに追加されても、すぐに一番下に戻るという問題があります (リストビューが再構築され、スクロール位置が保持されないため)。どうすればこれを防ぐことができますか?