前提
flutter初心者です
ドラムで値を選択できるようにしたい
参考にさせていただいたHPをそのまま実行して試していますがエラーがでており何がエラーかわからない
実現したいこと
テキストフォームからドラムで値を選択させたい
発生している問題・エラーメッセージ
エラーメッセージ Undefined name 'context'.
該当のソースコード
dart
1import 'package:flutter/material.dart'; 2import 'package:flutter/cupertino.dart'; 3 4void main() => runApp(MyApp()); 5 6class MyApp extends StatelessWidget { 7 8 Widget build(BuildContext context) { 9 return MaterialApp( 10 title: 'Modal Picker', 11 theme: ThemeData( 12 primarySwatch: Colors.blue, 13 ), 14 home: const MyHomePage(title: 'Modal Picker'), 15 ); 16 } 17} 18 19class MyHomePage extends StatefulWidget { 20 const MyHomePage({Key? key, required this.title}) : super(key: key); 21 22 final String title; 23 24 25 _MyHomePageState createState() => _MyHomePageState(); 26} 27 28class _MyHomePageState extends State<MyHomePage> { 29 30 Widget build(BuildContext context) { 31 return Scaffold( 32 appBar: AppBar( 33 title: Text(widget.title), 34 ), 35 body: Center( 36 child: Column( 37 mainAxisAlignment: MainAxisAlignment.center, 38 children: [ 39 buildTextFormField(context), 40 ], 41 ), 42 ), 43 ); 44 } 45} 46 47TextFormField buildTextFormField(BuildContext context) { 48 return TextFormField( 49 onTap: () { 50 // キーボードが出ないようにする 51 FocusScope.of(context).requestFocus(new FocusNode()); 52 showPicker(); 53 }, 54 decoration: const InputDecoration(hintText: 'テキストを入力'), 55 ); 56} 57 58void showPicker() { 59 final list = ['選択肢1', '選択肢2', '選択肢3']; 60 final _pickerItems = list.map((item) => Text(item)).toList(); 61 var selectedIndex = 0; 62 63 showCupertinoModalPopup<void>( 64 context: context, 65 builder: (BuildContext context) { 66 return Container( 67 height: 216, 68 child: GestureDetector( 69 onTap: () { 70 Navigator.pop(context); 71 }, 72 child: CupertinoPicker( 73 itemExtent: 32, 74 children: _pickerItems, 75 onSelectedItemChanged: (int index) { 76 selectedIndex = index; 77 }, 78 ), 79 ), 80 ); 81 }, 82 ); 83}
試したこと
import 'dart:js';のimport
var contextを定義
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/09/04 02:59