我是 Flutter 的新手,过去几天我有一个非常简单的问题让我很烦恼。我有这个简单的凸起按钮:
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
TextField(),
RaisedButton(
child: Text("Clicou"),
onPressed: () {
_changeText();
}),
MyText(myText)
],
)
在那里我调用onPressed
了 _changeText(),这是一个简单的函数,可以更改屏幕上的标签,但是检查最后我正在调用我的方法 ()
。好吧,我正在从一个 youtube 视频中学习,那里的人说我应该在没有 的情况下通过我的方法()
,但是当我尝试这种方式时,按钮根本不起作用。
所以,我的问题实际上是:我应该如何调用方法onPressed
或任何其他事件侦听器?
这是我的代码文件:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// entry point for the app,
// the => operator is shorthand for {} when there is only one line of code
void main() => runApp(Root());
class Root extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MyApp();
}
}
// the root widget of our application
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return MyAppState();
}
}
class MyAppState extends State<MyApp> {
String myText = "";
void _changeText() {
print("TESETSSS");
setState(() {
myText = "batman";
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Building layouts"),
),
body: Container(
padding: const EdgeInsets.all(15.0),
margin: EdgeInsets.all(15.0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
TextField(),
RaisedButton(
child: Text("Clicou"),
onPressed: () {
_changeText();
}),
MyText(myText)
],
))),
);
}
}
class MyText extends StatelessWidget {
final String myText;
MyText(this.myText);
@override
Widget build(BuildContext context) {
return Text(myText);
}
}