前提・実現したいこと
テキストフィールド入力された文章を次の確認ページで表示したいのと同時に、文章を入力するページには、その一つ前のページで選ばれた文章を表示したい。
よろしくお願いします。
発生している問題・エラーメッセージ
おそらくNullに関する問題。
════════ Exception caught by widgets library ═══════════════════════════════════ The following _CastError was thrown building resultPage(dirty): Null check operator used on a null value
該当のソースコード
Dart
1import 'package:flutter/material.dart'; 2import 'package:hermeneutic_composers/ResultPage.dart'; 3 4class writingPage extends StatelessWidget { 5 final String theme; 6 7 writingPage({ 8 required this.theme, 9 }); 10 String? name; 11 12 13 Widget build(BuildContext context) { 14 return Scaffold( 15 appBar: AppBar( 16 title: Text("お題確認画面"), 17 ), 18 body: Container( 19 child: Column( 20 crossAxisAlignment: CrossAxisAlignment.center, 21 children: [ 22 Text('お題は「' + theme + '」です。'), 23 TextField( 24 onChanged: (value) { 25 setState(() { 26 name = value; 27 }); 28 }, 29 decoration: InputDecoration(hintText: '文章を入力してください。'),//ここに文章を入力したい。 30 ), 31 ElevatedButton( 32 child: Text('投稿画面へ'), 33 onPressed: () { 34 Navigator.push( 35 context, 36 MaterialPageRoute( 37 builder: (context) => resultPage(name: name)), 38 ); 39 }), 40 ], //children 41 ), 42 )); 43 } 44 45 void setState(Null Function() param0) {} 46}
resultPage
1import 'package:flutter/material.dart'; 2 3class resultPage extends StatelessWidget { 4 resultPage({ 5 required this.name, 6 }); 7 String? name; 8 9 @override 10 Widget build(BuildContext context) { 11 return Scaffold( 12 appBar: AppBar( 13 title: Text("制作完了"), 14 ), 15 body: Container( 16 child: Column( 17 crossAxisAlignment: CrossAxisAlignment.center, 18 children: [ 19 Text(name!),//ここに前の文章を表示したい。 20 ], //children 21 ), 22 )); 23 } 24}
試したこと
writingPageのString? name;の部分をlast String name;にしてresultPageのString? name;の部分をfinal String name;にして見ましたが、そうするとLastInitializationErrorという別のエラーが生じました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。