【问题标题】:Flutter Listview not updating list items on UIFlutter Listview 不更新 UI 上的列表项
【发布时间】:2021-05-29 17:16:35
【问题描述】:

我正在开发一个颤振应用程序并使用 ListView.builder 小部件来显示我的数据。我正在从数据库中获取数据并将其显示在列表视图中。在我修改单个列表项后,我想刷新整个列表视图小部件。 目前的问题是我传递给 listview 小部件的数据正在相应地更新,但在 UI 上没有更新。 这是我从数据库中获取数据并更新列表视图的方法的屏幕截图

请帮助我。谢谢

【问题讨论】:

  • @Dev94,你确定调用 setState() 吗?还是您使用 FutureBuilder?
  • 我正在使用 FutureBuilder(),我尝试了两种方式,有和没有 setState(),但根本不工作。

标签: database flutter listview dart flutter-desktop


【解决方案1】:

你应该使用streamBuilder来获取数据,你获取数据的方法应该如下:

Stream<List<Map<String,dynamic>>> fetchTimeLine() async* {
 while(true) {
   //first mention how much time to wait before fetching again I am using 10 
   // secs
   await Future.delayed(Duration(seconds: 10));
   try {
      List<Map<String,dynamic>> allRows = await dbHelper.queryAllRows();
      yield allRows ; 
   } 
   finally {
      print('closed');
   }
 }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2020-03-14
    • 2022-12-04
    • 2020-11-16
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多