teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コードを追記

2021/01/23 15:33

投稿

hiroshihorie
hiroshihorie

スコア197

answer CHANGED
@@ -20,4 +20,92 @@
20
20
  @override
21
21
  Widget build(BuildContext context) => /* ここに以前のhomeの中身をコピペ */
22
22
  }
23
+ ```
24
+
25
+ 追記(検証済み)
26
+ ```dart
27
+ //入力画面
28
+ import 'package:flutter/material.dart';
29
+
30
+ void main() {
31
+ runApp(MyApp());
32
+ }
33
+
34
+ class MyApp extends StatelessWidget {
35
+ @override
36
+ Widget build(BuildContext context) {
37
+ return MaterialApp(
38
+ theme: ThemeData(
39
+ primarySwatch: Colors.blue,
40
+ visualDensity: VisualDensity.adaptivePlatformDensity,
41
+ ),
42
+ home: HomePage(),
43
+ );
44
+ }
45
+ }
46
+
47
+ class HomePage extends StatefulWidget {
48
+ @override
49
+ createState() => HomePageState();
50
+ }
51
+
52
+ class HomePageState extends State<HomePage> {
53
+ //
54
+ String name;
55
+
56
+ @override
57
+ Widget build(BuildContext context) => Scaffold(
58
+ appBar: AppBar(
59
+ title: Text('入力画面'),
60
+ ),
61
+ body: Center(
62
+ child: Column(
63
+ mainAxisAlignment: MainAxisAlignment.center,
64
+ children: [
65
+ TextField(
66
+ onChanged: (value) {
67
+ setState(() {
68
+ name = value;
69
+ });
70
+ },
71
+ decoration: InputDecoration(hintText: 'ここに入力した値を次の画面に渡したい'),
72
+ ),
73
+ RaisedButton(
74
+ child: Text('確認画面へ'),
75
+ onPressed: () {
76
+ Navigator.push(
77
+ context,
78
+ MaterialPageRoute(builder: (context) => NextPage(name: name)),
79
+ );
80
+ }),
81
+ ],
82
+ ),
83
+ ),
84
+ );
85
+ }
86
+
87
+ class NextPage extends StatelessWidget {
88
+ //
89
+ final String name;
90
+
91
+ NextPage({
92
+ this.name,
93
+ });
94
+
95
+ @override
96
+ Widget build(BuildContext context) => Scaffold(
97
+ appBar: AppBar(
98
+ title: Text('確認画面'),
99
+ ),
100
+ body: Center(
101
+ child: Column(
102
+ mainAxisAlignment: MainAxisAlignment.center,
103
+ children: [
104
+ Text(name),
105
+ ],
106
+ ),
107
+ ),
108
+ );
109
+ }
110
+
23
111
  ```