我問了這個問題并得到了準確的答案
它作業正常,然后我嘗試將它包裝到StreamBuilder如下所示,它停止作業
StreamBuilder<List<WinsModel>>(
stream: WinController().readWins(),
builder: (context, snapshot2) {
if (snapshot2.hasError) {
return NoData(
text: "Error: 947474774", title: "");
} else if (snapshot2.hasData) {
final testi = snapshot2.data!;
return ListView.builder(
controller: _controller,
key: itemKey,
itemCount: testi.length,
itemBuilder: (BuildContext context, index) {
return ListTile(
title: SmallText(
text: testi[index].body,
color: Colors.white,
size: FDiamension.getSize(16),
isBold: true,
),
);
},
);
} else {
return Container();
}
}),
請通過哪種方式將自動滾動添加到 StreamBuilder Listview
uj5u.com熱心網友回復:
把這個
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
if (_controller.hasClients) {
_controller.animateTo(_controller.position.maxScrollExtent,
duration: const Duration(milliseconds: 500),
curve: Curves.easeInOut);
}
});
后
} else if (snapshot2.hasData) {
喜歡
StreamBuilder<List<WinsModel>>(
stream: WinController().readWins(),
builder: (context, snapshot2) {
if (snapshot2.hasError) {
return NoData(
text: "Error: 947474774", title: "");
} else if (snapshot2.hasData) {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
if (_controller.hasClients) {
_controller.animateTo(_controller.position.maxScrollExtent,
duration: const Duration(milliseconds: 500),
curve: Curves.easeInOut);
}
});
final testi = snapshot2.data!;
return ListView.builder(
controller: _controller,
key: itemKey,
itemCount: testi.length,
itemBuilder: (BuildContext context, index) {
return ListTile(
title: SmallText(
text: testi[index].body,
color: Colors.white,
size: FDiamension.getSize(16),
isBold: true,
),
);
},
);
} else {
return Container();
}
}),
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/516442.html
標籤:安卓扑镖列表显示滚动
