flutter - 点击按钮后更改文本的颤振问题
问题描述
我是一个初学者,想制作一个快速应用程序,它可以显示您按下按钮的次数,然后将这些按钮交互知识转化为制作计算器。我写了一些代码,但不知道我应该改变什么来修复我的混乱。具体来说,当我单击我的按钮时,它不会显示文本的任何变化。这是我的代码:
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"))
]
);
}
}```
解决方案
您必须传递函数的引用,而不是它的返回类型,而不是:
FloatingActionButton(
onPressed: increaseCount(), child: Text("Click")
)
做这个 :
FloatingActionButton(
onPressed: increaseCount, child: Text("Click")
)
我还建议您将方法的返回类型设置increaseCount
为 void(默认情况下它是动态的)。
推荐阅读
- c++ - 使用 clang++ 8 链接未使用的命令
- vaadin - 如何在 Vaadin 流中查看网格的详细信息?
- python - 在 Django 视图的 render() 中将图像作为参数发送
- c++ - 删除com接口指针的效果
- spring - 忽略结果执行函数
- python - Python xpath() 不显示内容
- java - IOException 并发超时 inputStream 读取 HTTP 请求
- transactions - 在 Hyperledger Composer 中调用另一个事务的事务
- java - AWS / Lambda / Java 上的 Elasticsearch 客户端 - 2.5 秒客户端启动时间
- r - 日志转换后如何在 ggplot 的图例中保留 0 值?