Creating a list of widgets from map with keys and valuesHow to specify the output directory for Dart's “pub deploy”?how to define a variable of type “function”? (using optional typing)Switching on class type in DartFlutter - Create a countdown widgettype 'List<dynamic>' is not a subtype of type 'List<Widget>'What are Keys in the Stateless widgets class?Creating widgets based on a listHow to create flutter list linear gradien widget?Flutter: Question about async function to retrieve Firebase user IDWhat is the difference between functions and classes to create widgets?

Is possible to search in vim history?

Reply 'no position' while the job posting is still there

Why in book's example is used 言葉(ことば) instead of 言語(げんご)?

How do I extrude a face to a single vertex

What is this type of notehead called?

How to align and center standalone amsmath equations?

What linear sensor for a keyboard?

How can Trident be so inexpensive? Will it orbit Triton or just do a (slow) flyby?

Frequency of inspection at vegan restaurants

A Permanent Norse Presence in America

Indicating multiple different modes of speech (fantasy language or telepathy)

What does the Rambam mean when he says that the planets have souls?

Using a siddur to Daven from in a seforim store

List of people who lose a child in תנ"ך

Flux received by a negative charge

Did arcade monitors have same pixel aspect ratio as TV sets?

Should I stop contributing to retirement accounts?

Is there a word to describe the feeling of being transfixed out of horror?

How do I implement a file system driver driver in Linux?

Does the Mind Blank spell prevent the target from being frightened?

Freedom of speech and where it applies

What (else) happened July 1st 1858 in London?

My friend sent me a screenshot of a transaction hash, but when I search for it I find divergent data. What happened?

Engineer refusing to file/disclose patents



Creating a list of widgets from map with keys and values


How to specify the output directory for Dart's “pub deploy”?how to define a variable of type “function”? (using optional typing)Switching on class type in DartFlutter - Create a countdown widgettype 'List<dynamic>' is not a subtype of type 'List<Widget>'What are Keys in the Stateless widgets class?Creating widgets based on a listHow to create flutter list linear gradien widget?Flutter: Question about async function to retrieve Firebase user IDWhat is the difference between functions and classes to create widgets?













3















If I have say a SimpleDialog() and it accepts children[] and I want to populate it from a Map<int, String>, how would I do that? I need both the key and value to create the child widget.



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: // I don't know what to put here
// I want to have widgets based on optionsMap keys and values
)


I solved it by creating a List<Widget> beforehand above the return statement, but just for convenience (and becoming better in Dart) I'd like to know if there's a way to do it inline.










share|improve this question
























  • You could use the Map.map() function to obtain a new Map<int, Widget> and then use this new map's values: children : options.map((entry) return MapEntry<int, Widget>(entry.key, /*here create the widget from entry.key and entry.value*/);).values.toList().

    – Luksprog
    Mar 7 at 9:40












  • Using a ListView and converting your map into a list should work

    – Willy
    Mar 7 at 9:44















3















If I have say a SimpleDialog() and it accepts children[] and I want to populate it from a Map<int, String>, how would I do that? I need both the key and value to create the child widget.



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: // I don't know what to put here
// I want to have widgets based on optionsMap keys and values
)


I solved it by creating a List<Widget> beforehand above the return statement, but just for convenience (and becoming better in Dart) I'd like to know if there's a way to do it inline.










share|improve this question
























  • You could use the Map.map() function to obtain a new Map<int, Widget> and then use this new map's values: children : options.map((entry) return MapEntry<int, Widget>(entry.key, /*here create the widget from entry.key and entry.value*/);).values.toList().

    – Luksprog
    Mar 7 at 9:40












  • Using a ListView and converting your map into a list should work

    – Willy
    Mar 7 at 9:44













3












3








3








If I have say a SimpleDialog() and it accepts children[] and I want to populate it from a Map<int, String>, how would I do that? I need both the key and value to create the child widget.



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: // I don't know what to put here
// I want to have widgets based on optionsMap keys and values
)


I solved it by creating a List<Widget> beforehand above the return statement, but just for convenience (and becoming better in Dart) I'd like to know if there's a way to do it inline.










share|improve this question
















If I have say a SimpleDialog() and it accepts children[] and I want to populate it from a Map<int, String>, how would I do that? I need both the key and value to create the child widget.



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: // I don't know what to put here
// I want to have widgets based on optionsMap keys and values
)


I solved it by creating a List<Widget> beforehand above the return statement, but just for convenience (and becoming better in Dart) I'd like to know if there's a way to do it inline.







dart flutter






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 7 at 9:18







TimSim

















asked Mar 7 at 9:06









TimSimTimSim

1,20732860




1,20732860












  • You could use the Map.map() function to obtain a new Map<int, Widget> and then use this new map's values: children : options.map((entry) return MapEntry<int, Widget>(entry.key, /*here create the widget from entry.key and entry.value*/);).values.toList().

    – Luksprog
    Mar 7 at 9:40












  • Using a ListView and converting your map into a list should work

    – Willy
    Mar 7 at 9:44

















  • You could use the Map.map() function to obtain a new Map<int, Widget> and then use this new map's values: children : options.map((entry) return MapEntry<int, Widget>(entry.key, /*here create the widget from entry.key and entry.value*/);).values.toList().

    – Luksprog
    Mar 7 at 9:40












  • Using a ListView and converting your map into a list should work

    – Willy
    Mar 7 at 9:44
















You could use the Map.map() function to obtain a new Map<int, Widget> and then use this new map's values: children : options.map((entry) return MapEntry<int, Widget>(entry.key, /*here create the widget from entry.key and entry.value*/);).values.toList().

– Luksprog
Mar 7 at 9:40






You could use the Map.map() function to obtain a new Map<int, Widget> and then use this new map's values: children : options.map((entry) return MapEntry<int, Widget>(entry.key, /*here create the widget from entry.key and entry.value*/);).values.toList().

– Luksprog
Mar 7 at 9:40














Using a ListView and converting your map into a list should work

– Willy
Mar 7 at 9:44





Using a ListView and converting your map into a list should work

– Willy
Mar 7 at 9:44












1 Answer
1






active

oldest

votes


















1














Update answer to incorporate @lrn 's comment



You can use map



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: optionsMap.entries.map((entry)
var w = Text(entry.value);
doSomething(entry.key);
return w;
).toList());
;





share|improve this answer

























  • I want to be able to access both keys and values.

    – TimSim
    Mar 7 at 10:53











  • update my answer to have both keys and values

    – TruongSinh
    Mar 7 at 11:01











  • Slightly simpler: optionsMap.entries.map((entry) var w = Text(entry.value); doSomething(key); return w; ). So, instead of creating a map and using only the values, just create the values as an iterable.

    – lrn
    Mar 7 at 15:09












  • @irn thanks, but did you try you code? I think you will still ned to to have toList()

    – TruongSinh
    Mar 8 at 1:17











  • I didn't know about entries property, that makes dealing with maps so much easier.

    – TimSim
    Mar 9 at 10:25










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55039861%2fcreating-a-list-of-widgets-from-map-with-keys-and-values%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














Update answer to incorporate @lrn 's comment



You can use map



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: optionsMap.entries.map((entry)
var w = Text(entry.value);
doSomething(entry.key);
return w;
).toList());
;





share|improve this answer

























  • I want to be able to access both keys and values.

    – TimSim
    Mar 7 at 10:53











  • update my answer to have both keys and values

    – TruongSinh
    Mar 7 at 11:01











  • Slightly simpler: optionsMap.entries.map((entry) var w = Text(entry.value); doSomething(key); return w; ). So, instead of creating a map and using only the values, just create the values as an iterable.

    – lrn
    Mar 7 at 15:09












  • @irn thanks, but did you try you code? I think you will still ned to to have toList()

    – TruongSinh
    Mar 8 at 1:17











  • I didn't know about entries property, that makes dealing with maps so much easier.

    – TimSim
    Mar 9 at 10:25















1














Update answer to incorporate @lrn 's comment



You can use map



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: optionsMap.entries.map((entry)
var w = Text(entry.value);
doSomething(entry.key);
return w;
).toList());
;





share|improve this answer

























  • I want to be able to access both keys and values.

    – TimSim
    Mar 7 at 10:53











  • update my answer to have both keys and values

    – TruongSinh
    Mar 7 at 11:01











  • Slightly simpler: optionsMap.entries.map((entry) var w = Text(entry.value); doSomething(key); return w; ). So, instead of creating a map and using only the values, just create the values as an iterable.

    – lrn
    Mar 7 at 15:09












  • @irn thanks, but did you try you code? I think you will still ned to to have toList()

    – TruongSinh
    Mar 8 at 1:17











  • I didn't know about entries property, that makes dealing with maps so much easier.

    – TimSim
    Mar 9 at 10:25













1












1








1







Update answer to incorporate @lrn 's comment



You can use map



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: optionsMap.entries.map((entry)
var w = Text(entry.value);
doSomething(entry.key);
return w;
).toList());
;





share|improve this answer















Update answer to incorporate @lrn 's comment



You can use map



const optionsMap = 
111:"First option",
222:"Second option",

return SimpleDialog(
title: Text('Choose one'),
children: optionsMap.entries.map((entry)
var w = Text(entry.value);
doSomething(entry.key);
return w;
).toList());
;






share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 8 at 1:22

























answered Mar 7 at 10:50









TruongSinhTruongSinh

1,518822




1,518822












  • I want to be able to access both keys and values.

    – TimSim
    Mar 7 at 10:53











  • update my answer to have both keys and values

    – TruongSinh
    Mar 7 at 11:01











  • Slightly simpler: optionsMap.entries.map((entry) var w = Text(entry.value); doSomething(key); return w; ). So, instead of creating a map and using only the values, just create the values as an iterable.

    – lrn
    Mar 7 at 15:09












  • @irn thanks, but did you try you code? I think you will still ned to to have toList()

    – TruongSinh
    Mar 8 at 1:17











  • I didn't know about entries property, that makes dealing with maps so much easier.

    – TimSim
    Mar 9 at 10:25

















  • I want to be able to access both keys and values.

    – TimSim
    Mar 7 at 10:53











  • update my answer to have both keys and values

    – TruongSinh
    Mar 7 at 11:01











  • Slightly simpler: optionsMap.entries.map((entry) var w = Text(entry.value); doSomething(key); return w; ). So, instead of creating a map and using only the values, just create the values as an iterable.

    – lrn
    Mar 7 at 15:09












  • @irn thanks, but did you try you code? I think you will still ned to to have toList()

    – TruongSinh
    Mar 8 at 1:17











  • I didn't know about entries property, that makes dealing with maps so much easier.

    – TimSim
    Mar 9 at 10:25
















I want to be able to access both keys and values.

– TimSim
Mar 7 at 10:53





I want to be able to access both keys and values.

– TimSim
Mar 7 at 10:53













update my answer to have both keys and values

– TruongSinh
Mar 7 at 11:01





update my answer to have both keys and values

– TruongSinh
Mar 7 at 11:01













Slightly simpler: optionsMap.entries.map((entry) var w = Text(entry.value); doSomething(key); return w; ). So, instead of creating a map and using only the values, just create the values as an iterable.

– lrn
Mar 7 at 15:09






Slightly simpler: optionsMap.entries.map((entry) var w = Text(entry.value); doSomething(key); return w; ). So, instead of creating a map and using only the values, just create the values as an iterable.

– lrn
Mar 7 at 15:09














@irn thanks, but did you try you code? I think you will still ned to to have toList()

– TruongSinh
Mar 8 at 1:17





@irn thanks, but did you try you code? I think you will still ned to to have toList()

– TruongSinh
Mar 8 at 1:17













I didn't know about entries property, that makes dealing with maps so much easier.

– TimSim
Mar 9 at 10:25





I didn't know about entries property, that makes dealing with maps so much easier.

– TimSim
Mar 9 at 10:25



















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55039861%2fcreating-a-list-of-widgets-from-map-with-keys-and-values%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

1928 у кіно

Захаров Федір Захарович

Ель Греко