質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

解決済

【Flutter】画面遷移でのエラーについて

ckr
ckr

総合スコア0

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

1回答

0評価

0クリップ

1951閲覧

投稿2020/09/27 14:14

■解決したいこと

Flutter(Dart)を用いて簡単なアプリ開発を行っています。
ボタンを押すと次の画面に画面遷移するようなコードを記載したいのですが、
下記の様なエラーが出ております。

何かヒントとなる様なことがございましたら教えていただけますと幸いです。

■エラー内容

iterm

I/flutter (23646): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════ I/flutter (23646): The following assertion was thrown while handling a gesture: I/flutter (23646): Navigator operation requested with a context that does not include a Navigator. I/flutter (23646): The context used to push or pop routes from the Navigator must be that of a widget that is a I/flutter (23646): descendant of a Navigator widget. I/flutter (23646): I/flutter (23646): When the exception was thrown, this was the stack: I/flutter (23646): #0 Navigator.of.<anonymous closure> (package:flutter/src/widgets/navigator.dart:2190:9) I/flutter (23646): #1 Navigator.of (package:flutter/src/widgets/navigator.dart:2197:6) I/flutter (23646): #2 Navigator.push (package:flutter/src/widgets/navigator.dart:1801:22) I/flutter (23646): #3 CookApp.build.<anonymous closure> (package:mytodoapp/main.dart:27:29) I/flutter (23646): #4 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:992:19) I/flutter (23646): #5 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1098:38) I/flutter (23646): #6 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:184:24) I/flutter (23646): #7 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:524:11) I/flutter (23646): #8 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:284:5) I/flutter (23646): #9 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:219:7) I/flutter (23646): #10 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:477:9) I/flutter (23646): #11 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:78:12) I/flutter (23646): #12 PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:124:9) I/flutter (23646): #13 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8) I/flutter (23646): #14 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:122:18) I/flutter (23646): #15 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:108:7) I/flutter (23646): #16 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:220:19) I/flutter (23646): #17 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:200:22) I/flutter (23646): #18 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:158:7) I/flutter (23646): #19 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:104:7) I/flutter (23646): #20 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:88:7) I/flutter (23646): #24 _invoke1 (dart:ui/hooks.dart:267:10) I/flutter (23646): #25 _dispatchPointerDataPacket (dart:ui/hooks.dart:176:5) I/flutter (23646): (elided 3 frames from dart:async) I/flutter (23646): I/flutter (23646): Handler: "onTap" I/flutter (23646): Recognizer: I/flutter (23646): TapGestureRecognizer#aaa22 I/flutter (23646): ════════════════════════════════════════════════════════════════════════════════════════════════════ I/flutter (23646): Another exception was thrown: Navigator operation requested with a context that does not include a Navigator. I/flutter (23646): Another exception was thrown: Navigator operation requested with a context that does not include a Navigator.

main.dart

import 'package:flutter/material.dart'; import 'package:mytodoapp/add_recipe_page.dart'; void main() => runApp(CookApp()); class CookApp extends StatelessWidget { var titleText = 'cookapp'; @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( leading: Icon(Icons.menu), title: Text('レシピ一覧'), ), body: Container( child: Center( child: Column(children: <Widget>[ Text(titleText), RaisedButton( child: Text("Button"), color: Colors.orange, textColor: Colors.white, onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => AddRecipe()), ); }, ), ]), ), ), ), ); } }

add_recipe.dart(main.dartからの画面遷移先)

import 'package:flutter/material.dart'; //import 'package:mytodoapp/main.dart'; //main関数は必ず記載する void main() => runApp(AddRecipe()); class AddRecipe extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( //scaffoldの中でappBarを使用 appBar: AppBar( title: Text('レシピ追加画面'), leading: Icon(Icons.add_alert), ), body: Container( child: Center( child: Text('レシピ追加'), ), ), ), ); } }

追記すべき情報があればご教示いただければと思います。
何卒宜しくお願い致します。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。