首页 > 解决方案 > Gridview.builder 从列表末尾开始

问题描述

我在小部件中有一个 Gridview.builder。当我打开小部件时,我想立即跳到网格列表的末尾。

class _StampsInTravelbookState extends State<StampsInTravelbook> {
  ScrollController _scrollController = new ScrollController();

  @override
  Widget build(BuildContext context) {
    if (_scrollController.hasClients) {
      _scrollController.jumpTo(_scrollController.position.maxScrollExtent);
    }
    return GridView.builder(
      controller: _scrollController,
      reverse: false,
      itemCount:
          Provider.of<UserPosProv>(context, listen: true).userStamps.length,
      shrinkWrap: true, 

但我总是一开始就有网格。

当我设置

反向:真

网格显示列表的结尾。

标签: fluttergridviewscrollcontroller

解决方案


添加userStamps.reverse()

例子

class _StampsInTravelbookState extends State<StampsInTravelbook> {
  @override
  Widget build(BuildContext context) {
    final userStamps = Provider.of<UserPosProv>(context, listen: true).userStamps;
    userStamps.reverse(); // This line makes your userStamps list reversed.
    return GridView.builder(
      itemCount: userStamps.length,
      itemBuilder: (context, index) => // Your GridTile here,
      shrinkWrap: true,
    );
  }
}

推荐阅读