Я работаю над экраном с вложенным StreamBuilder, привязанным к двум коллекциям Firestore DB. Он обновляется, когда пользователь выполняет операцию в пользовательском интерфейсе, и этот стажер вносит изменения в базу данных Firestore. Каждый раз, когда происходит изменение БД, экран мерцает и перемещается вверх, игнорируя текущую позицию прокрутки. Есть ли способ избежать этого плохого взаимодействия с пользователем? Спасибо.
@override
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: stream1(),
builder:(context, AsyncSnapshot<QuerySnapshot> userOrder){
return StreamBuilder<QuerySnapshot>(
stream: stream2(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot){
switch(snapshot.connectionState){
default:
return new Scaffold(
appBar: getHeaderAppBar(),
drawer: getLeftMenuBarDrawer(),
backgroundColor: Colors.white,
body: Scrollbar(child:ListView(
children: snapshot.data.documents.map((DocumentSnapshot mydoc){
if(userOrder.hasData){
...
}
..
return ListTile(
title: getTitle()
subtitle: getSubtitle()
isThreeLine: true,
);
}).toList(),
))}