Flutter StreamBuilder 调用数据 3 次
Flutter StreamBuilder Called Data 3times
return Container(
color: Colors.white,
child: StreamBuilder<QuerySnapshot>(
stream: _statusService.getStatus(),
builder: (context, AsyncSnapshot snapshot) {
return !snapshot.hasData
? CircularProgressIndicator()
: ListView.builder(
itemCount: snapshot.data.docs.length,
itemBuilder: (context, index) {
DocumentSnapshot movies = snapshot.data.docs[2];
return Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 0,
),
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 0,
),
child: Text(
"${movies['description']}",
style: TextStyle(
fontSize: 10,
color: Color(0xFF737599),
),
),
),
);
});
}),
);
}
}
有人可以帮我吗我正在尝试从 firebase 调用一些数据但是它被调用了 3 次我没有找到任何解决方案我正在等待您的回答
我认为你的数据长度是 3,但你只显示了 doc2。对于doc 3的长度,数据显示3次。
改变
itemCount: snapshot.data.docs.length,
到
itemCount: 1,
return Container(
color: Colors.white,
child: StreamBuilder<QuerySnapshot>(
stream: _statusService.getStatus(),
builder: (context, AsyncSnapshot snapshot) {
return !snapshot.hasData
? CircularProgressIndicator()
: ListView.builder(
itemCount: snapshot.data.docs.length,
itemBuilder: (context, index) {
DocumentSnapshot movies = snapshot.data.docs[2];
return Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 0,
),
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 0,
),
child: Text(
"${movies['description']}",
style: TextStyle(
fontSize: 10,
color: Color(0xFF737599),
),
),
),
);
});
}),
);
}
}
有人可以帮我吗我正在尝试从 firebase 调用一些数据但是它被调用了 3 次我没有找到任何解决方案我正在等待您的回答
我认为你的数据长度是 3,但你只显示了 doc2。对于doc 3的长度,数据显示3次。
改变
itemCount: snapshot.data.docs.length,
到
itemCount: 1,