使用bottomNavigationBarは、(スクロールバーの位置を行方不明のリストを再描画)失われる以前の状態に戻す、下のタブを切り替えます。
ソリューション
使用 AutomaticKeepAliveClientMixin
重写BOOL GET wantKeepAlive =>はtrue。
ビルドプロセスはsuper.build(コンテキスト)を呼び出します。
class _MovieListState extends State<MovieList> with AutomaticKeepAliveClientMixin {
List movieList = new List();
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
super.build(context);
return ListView.builder(
itemCount: movieList.length,
itemBuilder: (context, index) {
return MovieItem(
item: movieList[index],
);
},
);
}
}
保存状態の効果をリストに達しました
公式サイトから引用した解説:
サブクラスは実装しなければならないwantKeepAliveを、そして彼らのビルド方法は、呼び出す必要があります
super.build
(戻り値は常にnullを返しますが、無視してください)。その後、いつでもwantKeepAliveの値が変更(またはかもしれない変更)、サブクラスが呼び出す必要がありupdateKeepAliveを。
型引数は、
T
の一種であるStatefulWidget用のサブクラス州このクラスが混合されているに。
参考リンク: