【发布时间】:2020-12-21 20:17:48
【问题描述】:
我正在努力将不同的数据返回到我的主屏幕。我有 Mypage() 屏幕,其中列表视图中的卡片显示有标题和文本。我是 Flutter 的新手,我真的不知道如何从另一个名为 WritingPage() 的屏幕返回数据,其中有两个文本字段。这是我在 Mypage() 上的按钮的实际代码:
FlatButton(
onPressed: (){
Navigator.of(context).push(MaterialPageRoute(
builder: (context){
return WritingPage();
})).then((value) {
dreams.add(value);
print(dreams);
setState(() {});
})
;
},
child: Icon(Icons.add, size: 30,),
color: Colors.black,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
),
那么,WritingPage() 的代码如下:
class WritingPage extends StatefulWidget {
@override
_WritingPageState createState() => _WritingPageState();
}
class _WritingPageState extends State<WritingPage> {
String text;
void submit(){
Navigator.of(context).pop(_textEditingController.text);
}
TextEditingController _textEditingController = TextEditingController();
TextEditingController _titleEditingController = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
backgroundColor: kEdgeColor,
title: Text('Writing part'),
),
body: Container(
child: Column(
children: [
TextField(
controller: _textEditingController,
obscureText: false,
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.all(const Radius.circular(12))
)
),
),
TextField(
controller: _titleEditingController,
obscureText: false,
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.all(const Radius.circular(12))
)
),
),
RaisedButton(onPressed : ()=> submit()),
],
),
),
);
}
}
我希望每次按下 WritingPage 中的按钮时,都会在列表视图中创建一张卡片,其中包含两个文本字段的数据。
如果您需要更多详细信息,请询问我,提前谢谢!
【问题讨论】:
标签: flutter dart navigation screen