【发布时间】:2020-05-13 22:21:51
【问题描述】:
我想从 CustomDialog 更改 HomeScreen 的主体,它是另一个类。我怎样才能做到这一点 ?无论如何我都试过了,但我不能这样做。
这是主文件
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(home: HomeScreen(),));
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return SafeArea(child:Column(
children: <Widget>[
Text( Global.number.toString() ),
RaisedButton(child: Text("Click"),
onPressed: (){
showDialog(context: context,builder: (context){
return CustomDialog();
});
},)
],
));
}
}
这是另一个存储全局变量的文件
class Global {
static double number = 10.0;
}
这个文件是给Dialog的
class CustomDialog extends StatefulWidget {
@override
_CustomDialogState createState() => _CustomDialogState();
}
class _CustomDialogState extends State<CustomDialog> {
@override
Widget build(BuildContext context) {
return Dialog(child: FlatButton(
child: Icon(Icons.add_circle,size: 30,),
onPressed: (){
setState(() {
Global.number++;
});
},
),);
}
}
【问题讨论】:
标签: android flutter dart setstate iso