這是我從源中學習時遇到錯誤的代碼,編碼版本是 2018,所以這就是我面臨錯誤的原因。基本上它不是一個錯誤,它混淆了如何處理這個。我正在構建一個供我個人使用的測驗應用程式。這是錯誤
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:myapp/fake_data.dart';
import 'package:myapp/food.dart';
import 'models/category.dart';
class FoodPage extends StatelessWidget
{
static const String routename='/FoodPage';
Category? category;
FoodPage({this.category});
@override
Widget build(BuildContext context) {
Map<String, Category>? arguments=ModalRoute.of(context)!.settings.arguments as
Map<String, Category>?;
category=arguments!['category'] ;
Iterable<Food> foods = FAKE_FOOD.where((food) =>
food.categoryId==this.category!.id).toList();
return Scaffold(
appBar: AppBar(
title: Text('Foods From ${category!.content}'),
),
body: Center(
child: Center(
child: ListView.builder(
itemCount: foods.length,
itemBuilder: (context,index){
Food food=foods[index];
return Text(food.urlImage);
}),
)
),
);
}
}
錯誤在“食物食物=食物[索引];” 這是我推匯出食物類的食物類
import 'dart:math';
class Food {
int? id;
String name;
String urlImage;
Duration duration;
Complexity? complexity;
List<String>? ingredients=<String>[];
int? categoryId;
Food({this.id,
required this.name,
required this.urlImage,
required this.duration,
this.complexity,
this.categoryId,
this.ingredients});
{
this.id=Random().nextInt(100);
}
}
enum Complexity
{
Simple,Medium,Hard
}
uj5u.com熱心網友回復:
我很確定這一行是導致錯誤的原因:
Iterable<Food> foods = FAKE_FOOD.where((food) =>
food.categoryId==this.category!.id).toList();
問題是您不能將 a 分配給List該型別的變數Iterable(就像錯誤告訴您的那樣)。由于您無論如何都在投射,因此我建議您使用List一般的方法:
List<Food> foods = FAKE_FOOD.where((food) =>
food.categoryId==this.category!.id).toList();
現在我們將 a 分配給修復此錯誤List的型別的變數List。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/387093.html
