onTapのところでエラーが出てしまいます…。
flutter
1import 'package:flutter/material.dart'; 2 3void main() { 4 runApp(MyApp()); 5} 6class MyApp extends StatefulWidget { 7 @override 8 _FirstRouteState createState() => _FirstRouteState(); 9} 10 11class _FirstRouteState extends State<MyApp> { 12 @override 13 Widget build(BuildContext context) { 14 return MaterialApp( 15 home: Scaffold( 16 appBar: AppBar( 17 title: const Text('StudySummary', 18 style: TextStyle( 19 fontWeight: FontWeight.bold, 20 fontStyle: FontStyle.italic, 21 fontSize: 18, 22 ),), 23 ), 24 body: ListView.builder( 25 itemBuilder: (BuildContext context, int index) { 26 return Padding( 27 padding: const EdgeInsets.only(top:8.0,left: 9.0), 28 child: EntryItem(data[index]), 29 ); 30 }, 31 itemCount: data.length, 32 ), 33 ), 34 ); 35 } 36} 37class Entry { 38 Entry(this.title, [this.children = const <Entry>[]]); 39 final String title; 40 final List<Entry> children; 41} 42final List<Entry> data = <Entry>[ 43 Entry( 44 '現代文', 45 ), 46 Entry( 47 '数学', 48 ), 49 Entry( 50 '英語', 51 ), 52 Entry( 53 '化学', 54 ), 55 Entry( 56 '物理', 57 ), 58 Entry( 59 '社会', 60 ), 61 Entry( 62 'その他', 63 ), 64]; 65 66// Displays one Entry. If the entry has children then it's displayed 67// with an ExpansionTile. 68class EntryItem extends StatelessWidget { 69 const EntryItem(this.entry); 70 71 final Entry entry; 72//expansionリストの一番下にいる子供達 73 74 Widget _buildTiles(Entry root) { 75 76 if (root.children.isEmpty) return Padding( 77 padding: const EdgeInsets.only(left:18.0), 78 child: ListTile( 79 80 //leading: const Icon(Icons.vpn_key), 81 leading: const Icon(Icons.book), 82 title: Text(root.title, 83 style: TextStyle( 84 fontWeight: FontWeight.bold, 85 fontSize: 18, 86 ),), 87 subtitle: Text("movie"), 88 onTap: () {Navigator.push( 89 context, 90 MaterialPageRoute(builder: (context) => SecondRoute()), 91 );} 92 93 ), 94 ); 95 //expansionリストの下から2番目にいる子供達 96 return Padding( 97 padding: const EdgeInsets.only(top:8.0,left:10.0), 98 child: ExpansionTile( 99 leading: const Icon(Icons.book), 100 key: PageStorageKey<Entry>(root), 101 title: Text(root.title, 102 style: TextStyle( 103 fontWeight: FontWeight.bold, 104 fontSize: 18, 105 ),), 106 subtitle: Text("unit"), 107 children: root.children.map(_buildTiles).toList(), 108 ), 109 ); 110 } 111 112 @override 113 Widget build(BuildContext context) { 114 return _buildTiles(entry); 115 } 116} 117//2ページ目 118class SecondRoute extends StatefulWidget { 119 @override 120 _SecondRouteState createState() => _SecondRouteState(); 121} 122以下、関係なさそうなので省略させていただきます。
恐らくですが、Widget build(BuildContext context)の扱い方を理解できていないのが原因だと考えております。ご回答、何卒よろしくお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/25 11:24