flutter - Flutter 重复一个 Flutter 方法
问题描述
我想每五秒钟重复一次 handleImages() 方法,但是在让它工作时遇到了问题。
import 'package:flutter/material.dart';
class CameraImageWidget extends StatefulWidget {
const CameraImageWidget({
Key key,
}) : super(key: key);
@override
_CameraImageWidgetState createState() => _CameraImageWidgetState();
}
class _CameraImageWidgetState extends State<CameraImageWidget> {
String handleImages() {
List<String> cameraImages = [
'assets/images/imageUpload.gif',
'assets/images/imageUploadGreen.gif',
];
String randomImage = (cameraImages..shuffle()).first;
return randomImage;
}
@override
Widget build(BuildContext context) {
return Image.asset(handleImages(), height: 450.0);
}
}
解决方案
这应该可以解决问题。还没有测试过。
class _CameraImageWidgetState extends State<CameraImageWidget> {
String _image;
@override
initState(){
handleImages();
}
void handleImages() async{
List<String> cameraImages = [
'assets/images/imageUpload.gif',
'assets/images/imageUploadGreen.gif',
];
setState(() {
_image = (cameraImages..shuffle()).first;
});
//Wait 5 seconds
await new Future.delayed(const Duration(seconds:5));
handleImages();
}
@override
Widget build(BuildContext context) {
return Image.asset(_image, height: 450.0);
}
}
推荐阅读
- web - 在 Web 应用程序中使用 Web 程序集编译错误?
- javascript - socket.io client receives everything except for one emitter
- git - Github 拉取请求显示越来越多的旧合并
- javascript - 有没有办法在任何未安装的组件上普遍取消对 setstate 的所有调用或隐藏尝试它产生的错误?
- c - 如何在用户将它们作为输入插入时测量两个字符之间的时间(以秒为单位)
- google-bigquery - 在 BigQuery 中,如何使用项目名称包含的完全限定名称查询表 - 连字符
- r - 如何将闪亮的动作按钮链接到 R 中的情节动画?
- python - python中的输入()和\ n个字符
- pdf - 使用 Ghostscript,如何在合并的 PDF 文件上添加页码
- sql - 需要从稀疏填充的表中估算缺失数据