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

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

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

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

Dart

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

Q&A

解決済

1回答

3108閲覧

The element type 'Type' can't be assigned to the list type 'Widget'.

ituking

総合スコア80

Flutter

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

Dart

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

0グッド

0クリップ

投稿2023/01/09 14:09

前提

FlutterのUI構築の仕方を勉強するにあたり、Youtubeの動画を真似して勉強しています。

実現したいこと

  • The element type 'Type' can't be assigned to the list type 'Widget'.を解決させて正常な挙動にする。

発生している問題・エラーメッセージ

The element type 'Type' can't be assigned to the list type 'Widget'.

該当のソースコード

body.dart

1import 'package:flutter/material.dart'; 2import 'package:flutter_svg/svg.dart'; 3import 'package:plant_app/constants.dart'; 4 5class Body extends StatelessWidget { 6 @override 7 Widget build(BuildContext context) { 8 Size size = MediaQuery.of(context).size; 9 return Column( 10 children: <Widget>[ 11 SizedBox( 12 height: size.height * 0.8, 13 child: Row( 14 children: <Widget>[ 15 Expanded( 16 child: Padding( 17 padding: 18 const EdgeInsets.symmetric(vertical: kDefaultPadding * 3), 19 child: Column( 20 children: <Widget>[ 21 Align( 22 alignment: Alignment.topLeft, 23 child: IconButton( 24 padding: 25 EdgeInsets.symmetric(horizontal: kDefaultPadding), 26 onPressed: () { 27 Navigator.pop(context); 28 }, 29 icon: SvgPicture.asset( 30 "/Users/ユーザー/Flutter/plant_app/plant_app/assets/icons/back_arrow.svg"), 31 ), 32 ), 33 Spacer(), 34 ], 35 ), 36 ), 37 ), 38 Container( 39 height: size.height * 0.8, 40 width: size.width * 0.75, 41 decoration: BoxDecoration( 42 borderRadius: BorderRadius.only( 43 topLeft: Radius.circular(63), 44 bottomLeft: Radius.circular(63), 45 ), 46 boxShadow: [ 47 BoxShadow( 48 offset: Offset(0, 10), 49 blurRadius: 60, 50 color: kPrimaryColor.withOpacity(0.29), 51 ), 52 ], 53 image: DecorationImage( 54 alignment: Alignment.centerLeft, 55 fit: BoxFit.cover, 56 image: AssetImage( 57 "/Users/ユーザー/Flutter/plant_app/plant_app/assets/images/img.png"), 58 ), 59 ), 60 ), 61 ], 62 ), 63 ) 64 ], 65 ); 66 } 67} 68

試したこと

The element type 'Type' can't be assigned to the list type 'Widget'.を和訳したところ、
要素タイプ「Type」をリストタイプ「Widget」に割り当てることはできません。という意味だと判明。
The element type 'Type' can't be assigned to the list type 'Widget'.でググったところ、以下のページに行き着く。
https://www.fluttercampus.com/guide/335/expansionpanel-cant-be-assigned-to-the-list-type-widget/
<Widget>はリストタイプなので、リストタイプではない要素Typeを割り当てられないということは分かりましたが、動画だと何もエラーなく進んでいるのでこちら側でコードをいじる必要が出ました。
ですが、現在FlutterのUIの構築のやり方を勉強するという段階なので何をどうすれば良いかがわからない状況です。

補足情報(FW/ツールのバージョンなど)

Youtubeの動画
https://www.youtube.com/watch?v=LN668OAUrK4

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ta.fu

2023/01/10 00:56

私の環境では該当するエラーは出ませんでした。 (constants.dartは多分あなたの環境のソースなのでしょう。パッケージが見つからなかったのでkから始まる定数は適当な値に変更しました) 提示されているのは、エラーが出ているソースですか。 なおエラーに関しては、行・位置(Ln,Col)も出てると思うので、その情報も合わせて出したほうが良いです。 そうすれば、その行・位置でなんとなくで正しい情報を答えてくれる人が出るかもしれません。 また環境違いによる返答の行き違いをなくすため、flutter doctorで表示された環境情報も、補足情報に合わせて記述したほうが良いです。
guest

回答1

0

自己解決

後日再度ホットリロードをしたら、正常挙動しました。

投稿2023/01/16 14:30

ituking

総合スコア80

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.44%

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

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

質問する

関連した質問