1

チャット ( ListView) があり、必要なときにのみ読み込めるメッセージがあります。

そのため、チャットが最初に読み込まれるときに最後の n メッセージを読み込み、ユーザーが上にスクロールしたときに古いメッセージも取得したいと考えています。

新しいメッセージが firebase コレクションに到着するたびに、ListView. これは、最後の n メッセージのストリームを取得する a を使用して実現しましたStreamBuilder。ここで、n は、より多くのメッセージをロードするために増やすことができる状態に格納された変数です (最後の n メッセージのストリームを取得する関数の引数です)。 .

しかし、私の現在の実装では、上にスクロールするとより多くのメッセージがフェッチされてリストビューに追加されても、すぐに一番下に戻るという問題があります (リストビューが再構築され、スクロール位置が保持されないため)。どうすればこれを防ぐことができますか?

4

1 に答える 1