前提
・BottomNavigationBarで二つの画面を移行できるようにした。
・移行した画面2でFloatingActionBottomを押すとダイアログで入力ができるようにした。
・ダイアログで入力したことを毎回リストに加えて画面2のListViewにまとめた
発生している問題・エラーメッセージ
画面2から1に戻って2にするとリストの定義文が作動して過去のリストが全て消えてしまう。
該当コード
Dart
1class MyScreen2 extends StatefulWidget { 2 const MyScreen2({Key? key}) : super(key: key); 3 4 5 State<MyScreen2> createState() => _MyScreen2State(); 6} 7 8class _MyScreen2State extends State<MyScreen2> { 9 var subjectname; 10 List<String> subjectlist = []; 11 Widget build(BuildContext context) { 12 return Scaffold( 13 body: ListView.builder( 14 itemCount: subjectlist.length, 15 itemBuilder: (context, index3) { 16 return ListTile( 17 leading: Icon(Icons.edit), 18 title: Text(subjectlist[index3]), 19 ); 20 }), 21 floatingActionButton: FloatingActionButton( 22 onPressed: () async { 23 final result = 24 await DialogUtils.showEditingDialog(context, subjectname); 25 setState(() { 26 subjectname = result ?? subjectname; 27 subjectlist.add(subjectname); 28 }); 29 }, 30 child: Text("追加"), 31 ), 32 ); 33 } 34}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。