Flutter:我的 setState 不适用于我的布尔值

Flutter : My setState doesn't work on my boolean

我想在使用一个名为 showIOSQrcode 的布尔值单击它们时在两个图像之间切换,这是代码:

GestureDetector(
  onTap: () {
    setState(() {
      showIOSQrcode = !showIOSQrcode;
    });
    print(showIOSQrcode);
  },
  child: Image(
    image: AssetImage(showIOSQrcode
        ? 'assets/images/qrcode_ios.png'
        : 'assets/images/qr_code_play_store.png'),
    width: 180,
  )),

我在构建方法中像这样将我的布尔值初始化为 true :

bool showIOSQrcode = true;

而且我的形象没有改变。此外,它总是打印“false”onlick。

它正在发生,因为当您调用时setState构建方法将再次调用并设置为真。

在构建方法之前放置bool showIOSQrcode = true;,在状态class内。


class _MyStatefulWidgetState extends State<MyStatefulWidget> {
 
  bool showIOSQrcode = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(