Flutter类级别的变量布尔不起作用

时间:2018-10-10 07:42:31

标签: android dart flutter

下面的代码片段始终启用打印调试,无论debug为0还是1   即使我们将debug视为bool并检查true或false,也会发生相同的情况   问题是语法错误或下面的字段始终在其他字段中起作用   Java,kotlin,kotlin-native等语言,我也尝试过

  int debug = 1;

  checkDebug(int i) {
    //int debug = 1;
    Color color;
    if (debug == 1) {
      print('debugging enabled');
      switch (i) {
        case 1:
          color = Colors.amber;
          break;
        case 2:
          color = Colors.amberAccent;
          break;
        case 3:
          color = Colors.blue;
          break;
        case 4:
          color = Colors.black;
          break;
        default:
      }
      return color;
    } else if (debug == 0) {
      print('debugging disabled');
      return null;
    }
  }

对此有什么可能的解决方案,因为我总是在类的顶部使用调试变量,而其他变量仅在仅在方法中分配了调试时,此代码才起作用

编辑:答案

上面使用有状态的小部件,因此在更改变量时调用setState()可解决问题

void changeVariable(){
  debug = 0;
  setState((){});
}

解决了问题

0 个答案:

没有答案