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,

但我总是在开始时使用网格。

当我设置

反向:真

网格显示列表的末尾。

解决方法

添加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,);
  }
}
,

我认为这对你有用

 _scrollController.animateTo(
        _scrollController.position.maxScrollExtent,duration: Duration(milliseconds: 500),curve: Curves.fastOutSlowIn);
``

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...