首页 > 解决方案 > 点击按钮后更改文本的颤振问题

问题描述

我是一个初学者,想制作一个快速应用程序,它可以显示您按下按钮的次数,然后将这些按钮交互知识转化为制作计算器。我写了一些代码,但不知道我应该改变什么来修复我的混乱。具体来说,当我单击我的按钮时,它不会显示文本的任何变化。这是我的代码:


void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
    return MaterialApp(title: "Ame's Application", home: MyHomePage());
  }
}

class MyHomePage extends StatelessWidget {
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("App"),
          backgroundColor: Colors.amber,
        ),
        body: TextInputWidget());
  }
}

class TextInputWidget extends StatefulWidget {
  @override
  _TextInputWidgetState createState() => _TextInputWidgetState();
}

class _TextInputWidgetState extends State<TextInputWidget> {
  int count = 0;

  increaseCount() {
    setState(() {
      count++;
    });
  }


  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Text("You have hit the button ${count} times"), SizedBox(height: 100,),
        FloatingActionButton(
            onPressed: increaseCount(), child: Text("Click"))
      ]
    );
  }
}```

标签: flutter

解决方案


您必须传递函数的引用,而不是它的返回类型,而不是:

FloatingActionButton(
    onPressed: increaseCount(), child: Text("Click")
)

做这个 :

FloatingActionButton(
    onPressed: increaseCount, child: Text("Click")
)

我还建议您将方法的返回类型设置increaseCount为 void(默认情况下它是动态的)。


推荐阅读