The argument type 'Iterable<dynamic>' can't be assigned to the parameter type 'List<Widget>'
238
Solution 1
just keep it simple
Solution:
Column(
children: quotes.map((quote) => Text('${quote.text} '
'- ${quote.author}')).toList()
);
Solution 2
so try this
List<Quote> quotes = [
//"Quote" is the the name of the class of the second dart file.
Quote(
author: "Eminem",
text:
"You better lose yourself in music the moment you own it never let it go"),
Quote(
author: "Walt Disney",
text: "The way to get started is to quit talking and begin doing."),
Quote(
author: "Mother Teresa",
text:
"Spread love everywhere you go. Let no one ever come to you without leaving happier")
];
as your list
then your widget
return Scaffold(
backgroundColor: Colors.grey[200],
appBar: AppBar(
title: Text("Awesome Killer Quotes",
style: TextStyle(
color: Colors.grey[700],
)),
centerTitle: true,
backgroundColor: Colors.yellowAccent[400],
),
body: Column(
children: quotes.map((e)
=>Text('${e.text}')
).toList(),
),
);
Author by
damigesh
Updated on January 04, 2023Comments
-
damigesh over 1 year
Hi guys please i'm trying to map a list of strings in my code but its is give me the error "The argument type 'Iterable' can't be assigned to the parameter type 'List'.". I'm trying to reproduce the result in the picture below. Here is the code below;
**quote.dart** class Quote { String? text; String? author; Quote({ required this.text,required this.author }); } **main.dart** void main() { runApp(MaterialApp(home: QuoteList())); } class QuoteList extends StatefulWidget { const QuoteList({Key? key}) : super(key: key); @override State<QuoteList> createState() => _QuoteListState(); } class _QuoteListState extends State<QuoteList> { @override List<dynamic> quotes = [ //"Quote" is the the name of the class of the second dart file. Quote( author: "Eminem", text: "You better lose yourself in music the moment you own it never let it go"), Quote( author: "Walt Disney", text: "The way to get started is to quit talking and begin doing."), Quote( author: "Mother Teresa", text: "Spread love everywhere you go. Let no one ever come to you without leaving happier") // // " // ". -" ]; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.grey[200], appBar: AppBar( title: Text("Awesome Killer Quotes", style: TextStyle( color: Colors.grey[700], )), centerTitle: true, backgroundColor: Colors.yellowAccent[400], ), body: Column( children: quotes.map(children: quotes.map((quote) => Text('${quote.text} - ${quote.author}')).toList(), // (quote) => Text(quote.text + "-" + quote.author).toList(), // ((quote) => quoteTemplate(quote).toList()), ), // //return Text('>>'+quote.text+', '+quote.author); ), ); } }
If anybody can help me I will really appreciate it🙏🙏 P.S the error is in the main.dart file
-
Arbiter Chil about 2 yearstry Change List<dynamic> quotes to List<Quote> quotes you accessing the list with it's own model you've created
-
-
damigesh about 2 yearsI swear i have tried this before it didn't work🤦♂️😟but it's working now Thanks very much🙏