【发布时间】:2019-08-30 18:06:12
【问题描述】:
我正在尝试构建一个 Switch Widget 来更改显示的文本。因此,我有带有 Switch 小部件的类:
class SwitchWidget extends StatelessWidget{
static bool switchOn = false;
void _onSwitchChanged(bool value) {
switchOn = false;
}
@override
Widget build(BuildContext context) {
return Switch(
onChanged: _onSwitchChanged,
value: switchOn,
);
}
}
switchOn 表示开关是否打开。
然后我让 Widget 女巫将我的字符串文本的文本设置为“ON”,如果 switchOn 为真,则设置为“OFF”:
class SwichTextWidget extends StatelessWidget{
static String text = "OFF";
@override
Widget build(BuildContext context){
if (SwitchWidget.switchOn == true){
text = "ON";
}
else{
text = "OFF";
}
}
}
在另一个类中,我现在使用我的小部件:
class MatrixPageOne extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
...
Row( children:[
Text(" Clock Mode"),
SwitchWidget(),
Text(SwichTextWidget.text),
]//Row children
)
但如果我使用我的 Switch,文本将保持在关闭状态。我预计它不会像这样工作,但是让它工作的最简单方法是什么? 感谢您的每一个帮助!
【问题讨论】: