前提・実現したいこと
flutterで時間割を作成するアプリを作っています。
そこで、Containerを月曜日から金曜日まで5限分、つまり25個分のContainerを用意し、それぞれをタップすることで編集画面に移動し、名前と教室名を取得するようなプログラムを作成したい。
発生している問題・エラーメッセージ
ContainerにonTapをつけ加えることはできたが、画面の遷移がうまくいきません。
Navigator.push(
context,
)
このcontextの部分にエラーが発生しています。
該当のソースコード
dart ソースコード import 'package:flutter/material.dart'; class TimeSchedulePage extends StatefulWidget{ @override _TimeSchedulePage createState() => new _TimeSchedulePage(); } class _TimeSchedulePage extends State<TimeSchedulePage>{ @override Widget build(BuildContext context) { return TimeSchedule(); } } class TimeSchedule extends StatefulWidget{ @override _TimeSchedule createState() => new _TimeSchedule(); } class _TimeSchedule extends State<TimeSchedule>{ @override Widget build(BuildContext context) { var size = MediaQuery.of(context).size; final double itemHeight = (size.height - kToolbarHeight -24)/2; final double itemWidth = size.width/2; // TODO: implement build return Scaffold( appBar: AppBar( title: Text('時間割') ), body: GridView.count( crossAxisCount: 6, mainAxisSpacing: 8, crossAxisSpacing: 5.0, childAspectRatio: (itemWidth/itemHeight), padding: const EdgeInsets.all(10.0), children: _gridData, ), ); } var _gridData = <Widget>[ InkWell( child:Container(color: Colors.white,), onTap: () { Navigator.push( null, MaterialPageRoute( builder: (_) => getInfo(), ), ); }, ), ]; } class getInfo extends StatefulWidget{ @override _getInfo createState() => new _getInfo(); } class _getInfo extends State<getInfo>{ @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('編集'), ), ); } } ### 試したこと contextがBuildContext内以外では使えないという文を見ました。 他の方法がよくわからず質問させていただきます。どのようにすると 画面遷移ができるのでしょうか ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。