Insert into generated list in Flutter












0















At the moment I have this list



List.generate(72, (index) {
retrun Container(
child: new Text('$index'),
)
})


as the children of a GridView widget. What I however would like to do is return a different value than the $index for certain index values.



For this I have a List that looks like [{index: 2, value: test}{index: 5, value: hello}] with a lot of index/value pairs. So here is the question:



Is there a way now to display the value from the list in the GridView field if the matching index is in the list and if it is not simply return $index?



Just as an example, the field with the index 1 in the GridView should display its index, so it displays 1. The field with the index 2 however should display the matching value from the list, which is test and so on.










share|improve this question



























    0















    At the moment I have this list



    List.generate(72, (index) {
    retrun Container(
    child: new Text('$index'),
    )
    })


    as the children of a GridView widget. What I however would like to do is return a different value than the $index for certain index values.



    For this I have a List that looks like [{index: 2, value: test}{index: 5, value: hello}] with a lot of index/value pairs. So here is the question:



    Is there a way now to display the value from the list in the GridView field if the matching index is in the list and if it is not simply return $index?



    Just as an example, the field with the index 1 in the GridView should display its index, so it displays 1. The field with the index 2 however should display the matching value from the list, which is test and so on.










    share|improve this question

























      0












      0








      0








      At the moment I have this list



      List.generate(72, (index) {
      retrun Container(
      child: new Text('$index'),
      )
      })


      as the children of a GridView widget. What I however would like to do is return a different value than the $index for certain index values.



      For this I have a List that looks like [{index: 2, value: test}{index: 5, value: hello}] with a lot of index/value pairs. So here is the question:



      Is there a way now to display the value from the list in the GridView field if the matching index is in the list and if it is not simply return $index?



      Just as an example, the field with the index 1 in the GridView should display its index, so it displays 1. The field with the index 2 however should display the matching value from the list, which is test and so on.










      share|improve this question














      At the moment I have this list



      List.generate(72, (index) {
      retrun Container(
      child: new Text('$index'),
      )
      })


      as the children of a GridView widget. What I however would like to do is return a different value than the $index for certain index values.



      For this I have a List that looks like [{index: 2, value: test}{index: 5, value: hello}] with a lot of index/value pairs. So here is the question:



      Is there a way now to display the value from the list in the GridView field if the matching index is in the list and if it is not simply return $index?



      Just as an example, the field with the index 1 in the GridView should display its index, so it displays 1. The field with the index 2 however should display the matching value from the list, which is test and so on.







      dart flutter






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 21 '18 at 21:52









      stefanmukestefanmuke

      165112




      165112
























          1 Answer
          1






          active

          oldest

          votes


















          1














          It looks like you should preprocess the list into a Map. If necessary, iterate the list adding each entry to a map.



          Then you can:



            Map m = <int, String>{
          2: 'test',
          5: 'hello',
          };
          List<Container>.generate(72, (int index) {
          String s = m[index];
          return Container(
          child: Text(s != null ? s : '$index'),
          );
          });


          or, more succinctly with the null aware operator



            List<Container>.generate(
          72,
          (int index) => Container(child: Text(m[index] ?? '$index')),
          );





          share|improve this answer























            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%2f53420970%2finsert-into-generated-list-in-flutter%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














            It looks like you should preprocess the list into a Map. If necessary, iterate the list adding each entry to a map.



            Then you can:



              Map m = <int, String>{
            2: 'test',
            5: 'hello',
            };
            List<Container>.generate(72, (int index) {
            String s = m[index];
            return Container(
            child: Text(s != null ? s : '$index'),
            );
            });


            or, more succinctly with the null aware operator



              List<Container>.generate(
            72,
            (int index) => Container(child: Text(m[index] ?? '$index')),
            );





            share|improve this answer




























              1














              It looks like you should preprocess the list into a Map. If necessary, iterate the list adding each entry to a map.



              Then you can:



                Map m = <int, String>{
              2: 'test',
              5: 'hello',
              };
              List<Container>.generate(72, (int index) {
              String s = m[index];
              return Container(
              child: Text(s != null ? s : '$index'),
              );
              });


              or, more succinctly with the null aware operator



                List<Container>.generate(
              72,
              (int index) => Container(child: Text(m[index] ?? '$index')),
              );





              share|improve this answer


























                1












                1








                1







                It looks like you should preprocess the list into a Map. If necessary, iterate the list adding each entry to a map.



                Then you can:



                  Map m = <int, String>{
                2: 'test',
                5: 'hello',
                };
                List<Container>.generate(72, (int index) {
                String s = m[index];
                return Container(
                child: Text(s != null ? s : '$index'),
                );
                });


                or, more succinctly with the null aware operator



                  List<Container>.generate(
                72,
                (int index) => Container(child: Text(m[index] ?? '$index')),
                );





                share|improve this answer













                It looks like you should preprocess the list into a Map. If necessary, iterate the list adding each entry to a map.



                Then you can:



                  Map m = <int, String>{
                2: 'test',
                5: 'hello',
                };
                List<Container>.generate(72, (int index) {
                String s = m[index];
                return Container(
                child: Text(s != null ? s : '$index'),
                );
                });


                or, more succinctly with the null aware operator



                  List<Container>.generate(
                72,
                (int index) => Container(child: Text(m[index] ?? '$index')),
                );






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 22 '18 at 0:06









                Richard HeapRichard Heap

                6,7472917




                6,7472917
































                    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%2f53420970%2finsert-into-generated-list-in-flutter%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

                    Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

                    ts Property 'filter' does not exist on type '{}'

                    mat-slide-toggle shouldn't change it's state when I click cancel in confirmation window