我正在尝试制作一个水平滚动的小部件。它必须是无限的(或某种),所以我已经这样做了。
Widget build(BuildContext context) {
final int initialPage = 1000;
return Container(
margin: const EdgeInsets.all(10.0),
height: 400,
child: PageView.builder(
controller: PageController(
keepPage: true,
initialPage: initialPage,
),
itemBuilder: (context, position) {
print(position);
return Container(child:Text(position),
);
},
itemCount: null,
),
);
}
然后我向右滚动 3 次,控制台显示:
I/flutter (12616): 1000
I/flutter (12616): 1001
I/flutter (12616): 1002
I/flutter (12616): 1003
但是当我向后退时,我必须滚动 4 次才能看到一些结果,但在中间它什么也没显示。
I/flutter (12616): 1000
I/flutter (12616): 1001
I/flutter (12616): 1002
I/flutter (12616): 1003
I/flutter (12616): 999
I/flutter (12616): 1004
I/flutter (12616): 1005
那是向右 3 次,向左 4 次,再次向右 6 次。为什么 itemBuilder 函数有时不运行?