Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 我的颤振代码在模拟器上不起作用。手势检测器没有';我似乎没有察觉到这些手势_Flutter_Setstate_Gesturedetector - Fatal编程技术网

Flutter 我的颤振代码在模拟器上不起作用。手势检测器没有';我似乎没有察觉到这些手势

Flutter 我的颤振代码在模拟器上不起作用。手势检测器没有';我似乎没有察觉到这些手势,flutter,setstate,gesturedetector,Flutter,Setstate,Gesturedetector,我尝试了各种方法,代码中似乎没有错误。我也检查了颤振医生,但仍然没有得到任何结果。有人能帮我吗,我是个编码初学者。 我想我的set state类有一些问题,但是终端窗口中没有显示任何内容。请帮我解决这个问题,我在谷歌上找不到任何可以回答我问题的东西 这是我的密码 class InputPage extends StatefulWidget { @override InputPageState createState() => InputPageState(); } class

我尝试了各种方法,代码中似乎没有错误。我也检查了颤振医生,但仍然没有得到任何结果。有人能帮我吗,我是个编码初学者。 我想我的set state类有一些问题,但是终端窗口中没有显示任何内容。请帮我解决这个问题,我在谷歌上找不到任何可以回答我问题的东西

这是我的密码

class InputPage extends StatefulWidget {
  @override
  InputPageState createState() => InputPageState();
}


class InputPageState extends State<InputPage> {

  Color maleCardColor = inactiveCardColor;
  Color femaleCardColor = inactiveCardColor;

  void updateColor ( int gender) {
    // male was pressed
    if (gender == 1) {
      if (maleCardColor == inactiveCardColor) {
        maleCardColor = activeCardColor;
      } else {
        maleCardColor = inactiveCardColor;
      }
    }
    if (gender == 2) {
      if (femaleCardColor == inactiveCardColor) {
        femaleCardColor = activeCardColor;
      } else {
        femaleCardColor = inactiveCardColor;
      }
    }
  }


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Color(0xFF10A0E21),
      appBar: AppBar(
        title: Text("BMI CALCULATOR",
        ),
        backgroundColor: Colors.black,
        centerTitle: true,
      ),
      body: Column(
           children: [
             Expanded(
               child: Row(
                children: [
                  Expanded(
                    child: GestureDetector(
                      onTap: () {
                        setState(() {
                          updateColor(1);
                        });
                      },
                      child: ReusableCard(
                        cardColor:inactiveCardColor,
                        cardChild: IconContent(
                        iconImage: FontAwesomeIcons.mars,
                        iconText: "MALE",) ,
                      ),
                    ),
                  ),
                  Expanded(
                    child:GestureDetector(
                      onTap: (){
                      setState(() {
                        updateColor(2);
                      });
                      },
                      child:ReusableCard(cardColor:inactiveCardColor,
                        cardChild: 
                       IconContent(iconImage:FontAwesomeIcons.venus,
                          iconText: "FEMALE",),
                      ),
                    ),`enter code here`
                  ),
                ],
              ),
            ),
class InputPage扩展StatefulWidget{
@凌驾
InputPageState createState()=>InputPageState();
}
类InputPageState扩展状态{
Color maleCardColor=INACTIVERCARDCOLOR;
Color femaleCardColor=INACTIVERCARDCOLOR;
void updateColor(int性别){
//男性被压迫
如果(性别==1){
if(maleCardColor==inactiveCardColor){
maleCardColor=activeCardColor;
}否则{
maleCardColor=INACTIVERCARDCOLOR;
}
}
如果(性别==2){
if(femaleCardColor==inactiveCardColor){
femaleCardColor=activeCardColor;
}否则{
femaleCardColor=inactiveCardColor;
}
}
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
背景颜色:颜色(0xFF10A0E21),
appBar:appBar(
标题:文本(“体重指数计算器”,
),
背景颜色:Colors.black,
标题:对,
),
正文:专栏(
儿童:[
扩大(
孩子:排(
儿童:[
扩大(
儿童:手势检测器(
onTap:(){
设置状态(){
更新颜色(1);
});
},
儿童:可重用卡(
cardColor:VectorCardColor,
卡片儿童:IconContent(
iconImage:FontAwesomeIcons.mars,
iconText:“男性”,
),
),
),
扩大(
儿童:手势检测器(
onTap:(){
设置状态(){
更新颜色(2);
});
},
子项:可重用卡(cardColor:inactiveCardColor,
卡片儿童:
IconContent(图标图像:FontAwesomeIcons.venus,
iconText:“女性”,
),
),`在此处输入代码`
),
],
),
),

使用setState更改状态

if (gender == 2) {
      if (femaleCardColor == inactiveCardColor) {
         setState((){
           femaleCardColor = activeCardColor;
         }); 
      } else {
         setState((){
        femaleCardColor = inactiveCardColor;
         }); 
      }
    }
并从这里删除setState

setState(() {
   updateColor(2);
});

使用真正的设备使用
断点
查看并更改应用程序的确切流程。请参阅此