【问题标题】:How to refresh state of image path in flutter?如何在颤动中刷新图像路径的状态?
【发布时间】:2019-08-05 12:38:02
【问题描述】:

您好,我已经找到了如何显示从相机拍摄的照片,但首先要显示我需要重新加载应用程序并删除图片。更改仅在我重新加载应用程序时可见,而不是在操作后立即可见(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 以切换下一张或上一张照片时,我也会在删除路径时调用他。对于所有这些电话,我希望刷新统计数据,但什么也没有。

【问题讨论】:

  • 你想要什么?你没说
  • @Muhammad Noman 当我更改图像的路径时(在按钮的帮助下增加或减少 $daysfromnow_modify),图像不会重新加载,只有当我完全重新加载应用程序而不是当我调用时,图像才会改变按下按钮后的图片()。
  • 把这个imagePath="${extDir.path}/Pictures/$daysfromnow_modify.jpg";改成这个imagePath="${extDir.path}/Pictures/${daysfromnow_modify}.jpg";
  • 我试过了,但没有任何变化......拍照后我放置了一个 print("$imagpath") 来验证函数是否被调用并且图像路径是好的,并且函数被调用好路径...但似乎 Image.file(new File(imagePath),),在路径修改后没有重建
  • prefs.setString('daysfromnow_modify',daysfromnow_modify)??""; 此代码将 daysfromnow_modify 的新值设置为在 shared_preferences 中键入 daysfromnow_modify 以不获取它。可以通过var val = prefs.getString("daysfromnow_modify") ?? "no value";获取值

标签: flutter


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-10-17
    • 2018-12-14
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2011-09-24
    • 2020-03-04
    相关资源
    最近更新 更多