在FLUTTER中,我尝试刷新屏幕4次。我有4个变量1个升高按钮和if语句。它正在更改imagePath1、imagePath2、imagePath3变量的图像,但不适用于imagePath4变量。
这是我的变量。
String imagepath1 = 'images/flame-833.png';
String imagepath2 = 'images/flame-859.png';
String imagepath3 = 'images/flame-891.png';
String imagepath4 = 'images/flame-4.png';
String currentPath = imagePath1;
下面是我的ElevatedButton,其中包含if语句和Image小部件。
ElevatedButton(
onPressed: () {
setState(() {
if (currentPath == imagePath1) {
currentPath = imagePath2;
} else if (currentPath == imagepath2) {
currentPath = imagepath3;
} else if (currentPath == imagepath3) {
currentPath = imagepath4;
} else {
currentPath = imagepath1;
}
});
},
child: const Text('Add Image'),
),
Center(child: Image.asset(currentPath)),
1.一旦我转到这个页面,我得到imagePath1图片。
1.一旦我单击添加图像,我得到imagePath2图片。
1.一旦我点击添加图像第二次我得到imagePath3图片。
1.一旦我点击添加图像第三十三次,我没有得到任何图片。没有屏幕变化。
2条答案
按热度按时间gblwokeq1#
您的代码可以完美地工作,唯一的问题是变量必须在Widget构建之外示例化
ny6fqffe2#
最后我找到了解决方案。唯一的问题是变量名的大小写。但我不知道为什么flutter没有识别出这个错误。
下面是正确的变量名称代码:
下面是小部件代码: