前提・実現したいこと
最近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
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。