flutter - 如何在 flutter 中刷新图像路径的状态?

标签 flutter

您好,我已经找到了如何显示从相机拍摄的照片,但首先要显示我需要重新加载应用程序,删除照片也是如此。更改仅在我重新加载应用程序时可见,而不是在操作后立即可见(onPressed 按钮)。

这是我的代码:

Future<String> picture() async {
final Directory extDir = await getApplicationDocumentsDirectory();
    setState(() {
        if ( imagePath!= null){
        imagePath="${extDir.path}/Pictures/$daysfromnow_modify.jpg";
        }
    });
}

要显示路径中的图像,我使用:Image.file(new File(imagePath),),

这是我增加或减少 $daysfromnow_modify 的部分。

new IconButton(
    icon: Icon(Icons.keyboard_arrow_left),
    iconSize: 30.0,
    color: Colors.black,
    onPressed: () {
        setState(() {
            changedate--;

            DateTime now = DateTime.now();
            final _dateFormatter = DateFormat.yMMMMd("fr_FR");
            DateTime daysfromnow = now.add(new Duration(days: changedate));

            formattedDate = _dateFormatter.format(daysfromnow);


            RegExp regExp = new RegExp(r"(^\S*)"); // Here is the regex fonction to extract long, lat
            var match = regExp.firstMatch("$daysfromnow");
            daysfromnow_modify = match.group(1);
        });
    }
)

我在初始化时调用 picture(),当我增加或减少 $daysfromnow_modify 以切换下一张或上一张照片时,我也会在删除路径时调用他。对于所有这些调用,我希望刷新统计数据,但什么也没有。

最佳答案

问题是 picture() 方法是在 init 中调用的,而不是在渲染/build 期间调用的。因此,imagePath 的值不是基于 daysfromnow 的 react 。您可以在任何时候 daysfromnow 发生更改时调用 picture() 来解决此问题。

关于flutter - 如何在 flutter 中刷新图像路径的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57358775/

相关文章:

flutter - 如果没有结果,则处理 streambuilder

flutter - Dart 四舍五入零值给出0.0,当我期望0.00

flutter - 如何修复行中间的 "right Overflowed by 39 Pixels error"?

firebase - 第一次如何避免 flutter 火中的满负荷

dart - 附加 ScrollController 时的事件

flutter - 如何将 ScrollController 添加到 SliverList flutter

flutter - 如何防止 TextField 小部件的光标抖动? - flutter

dart - Flutter:AnimatedContainer- child 小部件的属性未设置动画

flutter - 在 Flutter 中的 TableRows 之间添加一些空间

json - 如何在flutter中使用sqflite将api获取的数据保存到本地数据库中?