您好,我发现了如何显示相机拍摄的照片,但是首先要显示,我需要重新加载该应用程序并删除照片。更改仅在我重新加载应用程序后可见,而在操作后(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
,并且在删除路径时也会呼叫他。对于所有这些调用,我希望能刷新统计信息,但什么也没有。
答案 0 :(得分:1)
问题是picture()
方法是在初始化而不是在渲染/ build
期间调用的。因此,imagePath
的值基于daysfromnow
是无反应的。您可以通过随时更改picture()
来调用daysfromnow
来解决此问题。