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

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

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

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

Dart

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

Q&A

解決済

2回答

1772閲覧

_TypeErrorの解決方法を教えてください

Melon-cream

総合スコア1

Flutter

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

Dart

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

0グッド

0クリップ

投稿2021/06/08 01:36

前提・実現したいこと

最近flutterでアプリを作り始めた初心者です。
デバッグ時に発生したエラーの対処方法が分かりません。

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

The following _TypeError was thrown building CategoryTile(dirty): type 'String' is not a subtype of type 'int' of 'index' The relevant error-causing widget was CategoryTile

指摘されている箇所

Dart

1Widget _buildCategoryWidgets() { 2 return ListView.builder( 3 itemBuilder: (BuildContext context, int index) { 4 return CategoryTile( 5 category: _categories[index], 6 onTap: _onCategoryTap, 7 ); 8 }, 9 itemCount: _categories.length, 10 ); 11 }

CategoryTile

Dart

1import 'package:flutter/material.dart'; 2 3import 'category.dart'; 4 5 6const _rowHeight = 100.0; 7final _borderRadius = BorderRadius.circular(_rowHeight / 2); 8 9 10class CategoryTile extends StatelessWidget { 11 final Category category; 12 final ValueChanged<Category> onTap; 13 14 15 const CategoryTile ({ 16 Key? key, 17 required this.category, 18 required this.onTap, 19 }) :super(key: key); 20 21 22 23 24 Widget build(BuildContext context) { 25 return Material( 26 color: Colors.transparent, 27 child: Container( 28 height: _rowHeight, 29 child: InkWell( 30 borderRadius: _borderRadius, 31 highlightColor: category.color['highlight'], 32 splashColor: category.color['splash'], 33 34 onTap: () => onTap(category), 35 child: Padding( 36 padding: EdgeInsets.all(8.0), 37 child: Row( 38 crossAxisAlignment: CrossAxisAlignment.stretch, 39 40 children: [ 41 Padding( 42 padding: EdgeInsets.all(16.0), 43 child: Icon( 44 category.icon, 45 size: 60.0, 46 ), 47 ), 48 Center( 49 child: Text( 50 category.name, 51 textAlign: TextAlign.center, 52 style: Theme.of(context).textTheme.headline1, 53 ), 54 ), 55 ], 56 ), 57 ), 58 ), 59 ), 60 ); 61 } 62}

補足情報(ツールのバージョン)

Flutter 2.20
Dart 2.13.0
VSCode 1.56.2

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

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

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

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

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

guest

回答2

0

自己解決

色の指定を間違えていたようです。

Dart

1 static const _baseColors = <ColorSwatch>[ 2 Colors.teal, 3 Colors.orange, 4 Colors.pinkAccent, 5 Colors.blueAccent, 6 Colors.yellow, 7 Colors.greenAccent, 8 Colors.purpleAccent, 9 Colors.red, 10 ]; 11```上のコードを 12下のコードに変えました。 13 14```Dart 15 static const _baseColors = <ColorSwatch>[ 16 ColorSwatch(0xFF6AB7A8, { 17 'highlight': Color(0xFF6AB7A8), 18 'splash': Color(0xFF0ABC9B), 19 }), 20 ColorSwatch(0xFFFFD28E, { 21 'highlight': Color(0xFFFFD28E), 22 'splash': Color(0xFFFFA41C), 23 }), 24 ColorSwatch(0xFFFFB7DE, { 25 'highlight': Color(0xFFFFB7DE), 26 'splash': Color(0xFFF94CBF), 27 }), 28 ColorSwatch(0xFF8899A8, { 29 'highlight': Color(0xFF8899A8), 30 'splash': Color(0xFFA9CAE8), 31 }), 32 ColorSwatch(0xFFEAD37E, { 33 'highlight': Color(0xFFEAD37E), 34 'splash': Color(0xFFFFE070), 35 }), 36 ColorSwatch(0xFF81A56F, { 37 'highlight': Color(0xFF81A56F), 38 'splash': Color(0xFF7CC159), 39 }), 40 ColorSwatch(0xFFD7C0E2, { 41 'highlight': Color(0xFFD7C0E2), 42 'splash': Color(0xFFCA90E5), 43 }), 44 ColorSwatch(0xFFCE9A9A, { 45 'highlight': Color(0xFFCE9A9A), 46 'splash': Color(0xFFF94D56), 47 'error': Color(0xFF912D2D), 48 }), 49 ];

以上の方法で解決することが出来ました。

ご回答ありがとうございました。

投稿2021/06/11 10:01

Melon-cream

総合スコア1

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

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

0

indexはintのはずなのにStringが来てるのでどないかしてくれ、といってますんで、
どーにかしましょう。

投稿2021/06/08 01:44

y_waiwai

総合スコア87749

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問