如何在抖动中刷新图像路径的状态?

时间:2019-08-05 12:38:02

标签: 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,并且在删除路径时也会呼叫他。对于所有这些调用,我希望能刷新统计信息,但什么也没有。

1 个答案:

答案 0 :(得分:1)

问题是picture()方法是在初始化而不是在渲染/ build期间调用的。因此,imagePath的值基于daysfromnow是无反应的。您可以通过随时更改picture()来调用daysfromnow来解决此问题。